11# CMakeList.txt : Top-level CMake project file, do global configuration
22# and include sub-projects here.
33#
4- cmake_minimum_required (VERSION 3.25 )
4+ cmake_minimum_required (VERSION 3.30 )
55
6- project (cpp-essence C CXX )
6+ # Set experimental flag to enable `import std` support from CMake.
7+ # This must be enabled before C++ language support.
8+ set (CMAKE_EXPERIMENTAL_CXX_IMPORT_STD "0e5b6991-d74f-4b3d-a41c-cf096e0b2508" )
9+ set (CMAKE_CXX_MODULE_STD ON )
10+
11+ project (cpp-essence CXX )
712
813option (ES_WITH_NET "Whether to include the net support." ON )
914option (ES_WITH_JNI "Whether to include JNI support." ON )
@@ -29,6 +34,7 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
2934set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib)
3035set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /lib)
3136set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR} /bin)
37+
3238set (ES_PUBLIC_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /include)
3339
3440if (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" )
@@ -56,15 +62,13 @@ include(CTest)
5662include (FeatureTests.cmake )
5763include (Dependencies.cmake )
5864
59- add_subdirectory (src )
65+ set (ES_PACKAGING_TARGETS "" )
66+ set (ES_PROJECT_VERSION 0.2.0)
6067
61- if (EMSCRIPTEN)
62- add_subdirectory (src/port/wasm )
63- endif ()
68+ add_subdirectory (src )
6469
6570if (ES_WITH_JNI OR ANDROID )
6671 add_subdirectory (src/jni )
67- add_subdirectory (src/port/jni )
6872endif ()
6973
7074if (ES_WITH_TESTS)
@@ -78,3 +82,14 @@ endif()
7882if (ES_WITH_TESTS)
7983 add_subdirectory (lang )
8084endif ()
85+
86+ include (ESPackaging )
87+
88+ message (STATUS "ES_PACKAGING_TARGETS: ${ES_PACKAGING_TARGETS} " )
89+
90+ es_make_install_package (
91+ TARGETS ${ES_PACKAGING_TARGETS}
92+ PACKAGE_NAME CppEssence
93+ VERSION 0.2.0
94+ PATH_VARS CMAKE_INSTALL_PREFIX
95+ )
0 commit comments