aboutsummaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorAndy Green <andy@warmcat.com>2020-06-07 07:53:36 +0100
committerAndy Green <andy@warmcat.com>2020-06-07 07:53:36 +0100
commit2a772776a92743172191af271345d9d1059d8658 (patch)
treeeaa7556b4d2ab985dbb8ed47f22065ec5ae1b528 /CMakeLists.txt
parentf0c1ea801c99529ce36769a1ca742d1be832d9f3 (diff)
downloadlibwebsockets-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.txt33
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