diff options
author | Andy Green <andy@warmcat.com> | 2020-06-07 07:53:36 +0100 |
---|---|---|
committer | Andy Green <andy@warmcat.com> | 2020-06-07 07:53:36 +0100 |
commit | 2a772776a92743172191af271345d9d1059d8658 (patch) | |
tree | eaa7556b4d2ab985dbb8ed47f22065ec5ae1b528 /CMakeLists.txt | |
parent | f0c1ea801c99529ce36769a1ca742d1be832d9f3 (diff) | |
download | libwebsockets-2a772776a92743172191af271345d9d1059d8658.tar.gz |
windows: for data exports use explicit extern
LWS_EXTERN needs to be empty for windows when declaring functions in the
headers. But for data, it needs the explicit extern otherwise on windows
or mingw based builds, it thinks we are redeclaring the data each time.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 0dc5ad1e..2ad8250a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -262,17 +262,25 @@ endmacro() macro(exports_to_parent_scope) set(SOURCES ${SOURCES} PARENT_SCOPE) - set(LIB_LIST ${LIB_LIST} PARENT_SCOPE) + if (LIB_LIST) + set(LIB_LIST ${LIB_LIST} PARENT_SCOPE) + endif() get_property(_CURR DIRECTORY PROPERTY INCLUDE_DIRECTORIES) set(_CMAKE_INC_LIST ${_CURR} PARENT_SCOPE) - set(LWS_LIB_BUILD_INC_PATHS ${LWS_LIB_BUILD_INC_PATHS} PARENT_SCOPE) + if (LWS_LIB_BUILD_INC_PATHS) + set(LWS_LIB_BUILD_INC_PATHS ${LWS_LIB_BUILD_INC_PATHS} PARENT_SCOPE) + endif() endmacro() macro(export_to_parent_intermediate) set(SOURCES ${SOURCES} PARENT_SCOPE) - set(LIB_LIST ${LIB_LIST} PARENT_SCOPE) + if (LIB_LIST) + set(LIB_LIST ${LIB_LIST} PARENT_SCOPE) + endif() set(_CMAKE_INC_LIST ${_CMAKE_INC_LIST} PARENT_SCOPE) - set(LWS_LIB_BUILD_INC_PATHS ${LWS_LIB_BUILD_INC_PATHS} PARENT_SCOPE) + if (LWS_LIB_BUILD_INC_PATHS) + set(LWS_LIB_BUILD_INC_PATHS ${LWS_LIB_BUILD_INC_PATHS} PARENT_SCOPE) + endif() endmacro() # @@ -713,9 +721,15 @@ if (MINGW) add_definitions(-DWINVER=0x0601 -D_WIN32_WINNT=0x0601) endif() -source_group("Headers Private" FILES ${HDR_PRIVATE}) -source_group("Headers Public" FILES ${HDR_PUBLIC}) -source_group("Sources" FILES ${SOURCES}) +if (HDR_PRIVATE) + source_group("Headers Private" FILES ${HDR_PRIVATE}) +endif() +if (HDR_PUBLIC) + source_group("Headers Public" FILES ${HDR_PUBLIC}) +endif() +if (SOURCES) + source_group("Sources" FILES ${SOURCES}) +endif() if (RESOURCES) source_group("Resources" FILES ${RESOURCES}) endif() @@ -799,8 +813,9 @@ else() set(DEF_INSTALL_CMAKE_DIR lib${LIB_SUFFIX}/cmake/libwebsockets) endif() -set(LWS__INCLUDE_DIRS - "\${LWS_CMAKE_DIR}/${REL_INCLUDE_DIR}") +if (DEFINED REL_INCLUDE_DIR) + set(LWS__INCLUDE_DIRS "\${LWS_CMAKE_DIR}/${REL_INCLUDE_DIR}") +endif() configure_file(${PROJECT_SOURCE_DIR}/cmake/libwebsockets-config.cmake.in ${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/libwebsockets-config.cmake |