@@ -2,26 +2,29 @@ cmake_minimum_required(VERSION 3.16)
22
33macro (set_option_from_env OPTION_NAME)
44 string (TOLOWER ${OPTION_NAME} OPTION_NAME_LOWER)
5+
56 if (DEFINED ENV{npm_config_${OPTION_NAME_LOWER} })
67 if ("$ENV{npm_config_${OPTION_NAME_LOWER} }" STREQUAL "true" )
78 set ("${OPTION_NAME} "
8- ON
9- CACHE BOOL "npm_config_${OPTION_NAME_LOWER} " )
9+ ON
10+ CACHE BOOL "npm_config_${OPTION_NAME_LOWER} " )
1011 elseif ("$ENV{npm_config_${OPTION_NAME_LOWER} }" STREQUAL "false" )
1112 set ("${OPTION_NAME} "
12- OFF
13- CACHE BOOL "npm_config_${OPTION_NAME_LOWER} " )
13+ OFF
14+ CACHE BOOL "npm_config_${OPTION_NAME_LOWER} " )
1415 else ()
1516 set ("${OPTION_NAME} "
16- "$ENV{npm_config_${OPTION_NAME_LOWER} }"
17- CACHE STRING "npm_config_${OPTION_NAME_LOWER} " )
17+ "$ENV{npm_config_${OPTION_NAME_LOWER} }"
18+ CACHE STRING "npm_config_${OPTION_NAME_LOWER} " )
1819 endif ()
1920 endif ()
21+
2022 if (${OPTION_NAME} )
2123 string (REPLACE "zmq_" "" OPTION_NAME_LOWER "${OPTION_NAME_LOWER} " )
2224 string (REPLACE "_" "-" OPTION_NAME_LOWER "${OPTION_NAME_LOWER} " )
2325 list (APPEND VCPKG_MANIFEST_FEATURES ${OPTION_NAME_LOWER} )
2426 endif ()
27+
2528 message (STATUS "${OPTION_NAME} : ${${OPTION_NAME} }" )
2629endmacro ()
2730
@@ -61,13 +64,16 @@ if(WIN32)
6164 set (CMAKE_SYSTEM_PROCESSOR "$ENV{PROCESSOR_ARCHITECTURE} " )
6265 set (VCPKG_TARGET_TRIPLET "x64-windows-static" )
6366 endif ()
67+
6468 # Avoid loading of project_optinos/WindowsToolchain
6569 set (CMAKE_TOOLCHAIN_FILE ";" )
70+
6671 # use static runtime library
6772 set (CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>" )
6873endif ()
6974
7075include (FetchContent)
76+
7177if (CMAKE_VERSION VERSION_GREATER_EQUAL "3.24.0" )
7278 cmake_policy (SET CMP0135 NEW)
7379endif ()
@@ -88,11 +94,11 @@ include(${_project_options_SOURCE_DIR}/Index.cmake)
8894# MacOS flags that should be set prior to any project calls
8995if (APPLE )
9096 set (CMAKE_SHARED_LINKER_FLAGS
91- "${CMAKE_SHARED_LINKER_FLAGS} -undefined dynamic_lookup" )
97+ "${CMAKE_SHARED_LINKER_FLAGS} -undefined dynamic_lookup" )
9298endif ()
9399
94100run_vcpkg(VCPKG_URL "https://github.com/microsoft/vcpkg.git" VCPKG_REV
95- "ee2d2a100103e0f3613c60655dcf15be7d5157b8" )
101+ "ee2d2a100103e0f3613c60655dcf15be7d5157b8" )
96102
97103# Name of the project (will be the name of the plugin)
98104project (addon LANGUAGES C CXX)
@@ -103,15 +109,17 @@ file(GLOB_RECURSE SOURCES "./src/*.cc")
103109add_library (addon SHARED ${SOURCES} )
104110
105111if (CMAKE_CXX_COMPILER_ID STREQUAL GNU
106- OR CMAKE_CXX_COMPILER_ID STREQUAL Clang
107- OR CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
112+ OR CMAKE_CXX_COMPILER_ID STREQUAL Clang
113+ OR CMAKE_CXX_COMPILER_ID STREQUAL AppleClang)
108114 target_compile_options (project_warnings INTERFACE "-Wno-shadow" )
109115endif ()
116+
110117target_link_libraries (addon PRIVATE project_options project_warnings)
111118
112119if (ZMQ_DRAFT)
113120 target_compile_definitions (addon PRIVATE ZMQ_BUILD_DRAFT_API)
114121endif ()
122+
115123if (ZMQ_NO_SYNC_RESOLVE)
116124 target_compile_definitions (addon PRIVATE ZMQ_NO_SYNC_RESOLVE)
117125endif ()
@@ -129,6 +137,7 @@ target_compile_definitions(addon PRIVATE V8_31BIT_SMIS_ON_64BIT_ARCH)
129137target_compile_definitions (addon PRIVATE V8_REVERSE_JSARGS)
130138target_compile_definitions (addon PRIVATE BUILDING_NODE_EXTENSION)
131139target_compile_definitions (addon PRIVATE NAPI_CPP_EXCEPTIONS)
140+
132141if (WIN32 )
133142 target_compile_definitions (addon PRIVATE "NOMINMAX" )
134143 target_compile_definitions (addon PRIVATE "NOGDI" )
0 commit comments