aboutsummaryrefslogtreecommitdiffstats
path: root/hicn-light/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'hicn-light/CMakeLists.txt')
-rw-r--r--hicn-light/CMakeLists.txt28
1 files changed, 22 insertions, 6 deletions
diff --git a/hicn-light/CMakeLists.txt b/hicn-light/CMakeLists.txt
index 4a61505ef..33caa5cdc 100644
--- a/hicn-light/CMakeLists.txt
+++ b/hicn-light/CMakeLists.txt
@@ -35,6 +35,8 @@ include( CTest )
include( detectCacheSize )
if(NOT WIN32)
+ # NOTE: -fPIC -shared is needed to preserve constructors when targetting a
+ # shared library
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
else ()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4996")
@@ -45,35 +47,39 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "Android")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${ANDROID_C_FLAGS}")
endif()
-set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DLIBRTA_DISABLE_VALIDATION -DPARCLibrary_DISABLE_VALIDATION")
+set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -DLIBRTA_DISABLE_VALIDATION ")
include(IosMacros)
include(WindowsMacros)
set(HICN_LIGHT hicn-light CACHE INTERNAL "" FORCE)
set(HICN_LIGHT_CONTROL ${HICN_LIGHT}-control CACHE INTERNAL "" FORCE)
+set(HICN_LIGHT_SHELL ${HICN_LIGHT}-shell CACHE INTERNAL "" FORCE)
set(HICN_LIGHT_DAEMON ${HICN_LIGHT}-daemon CACHE INTERNAL "" FORCE)
find_package_wrapper(LibEvent REQUIRED)
if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
find_package_wrapper(Libhicn REQUIRED)
+ find_package_wrapper(Libhicnctrl REQUIRED)
else()
if (DISABLE_SHARED_LIBRARIES)
- if (WIN32)
- set(HICN_LIBRARIES ${LIBEVENT_STATIC} ${LIBHICN_STATIC})
+ if (WIN32)
+ set(HICN_LIBRARIES ${LIBEVENT_STATIC} ${LIBHICN_STATIC} ${LIBHICNCTRL_STATIC})
else ()
- set(HICN_LIBRARIES ${LIBEVENT_STATIC} ${LIBHICN_STATIC} log)
+ set(HICN_LIBRARIES ${LIBEVENT_STATIC} ${LIBHICN_STATIC} ${LIBHICNCTRL_STATIC} log)
endif ()
list(APPEND DEPENDENCIES
${LIBEVENT_STATIC}
${LIBHICN_STATIC}
+ ${LIBHICNCTRL_STATIC}
)
else ()
- set(HICN_LIBRARIES ${LIBHICN_SHARED})
+ set(HICN_LIBRARIES ${LIBHICN_SHARED} ${LIBHICNCTRL_SHARED})
list(APPEND DEPENDENCIES
${LIBEVENT_SHARED}
${LIBHICN_SHARED}
+ ${LIBHICNCTRL_SHARED}
)
endif ()
endif()
@@ -84,10 +90,11 @@ find_package(Threads REQUIRED)
set(LIBHICN_LIGHT hicn-light)
set(LIBHICN_LIGHT_STATIC ${LIBHICN_LIGHT}.static)
+set(LIBHICN_LIGHT_SHARED ${LIBHICN_LIGHT}.shared)
set(HICN_LIGHT_LINK_LIBRARIES
- ${LIBHICN_LIGHT_STATIC}
${HICN_LIBRARIES}
+ ${LIBHICNCTRL_LIBRARIES}
${LIBEVENT_LIBRARIES}
${CMAKE_THREAD_LIBS_INIT}
${WINDOWS_LIBRARIES}
@@ -97,6 +104,7 @@ set(HICN_LIGHT_LINK_LIBRARIES
# Include dirs -- Order does matter!
list(APPEND HICN_LIGHT_INCLUDE_DIRS
${HICN_INCLUDE_DIRS}
+ ${LIBHICNCTRL_INCLUDE_DIRS}
${LIBEVENT_INCLUDE_DIRS}
${WINDOWS_INCLUDE_DIRS}
)
@@ -114,6 +122,14 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
message(STATUS "Set \"-undefined dynamic_lookup\" for shared libraries")
endif()
+if (BUILD_TESTS)
+ if(${CMAKE_VERSION} VERSION_GREATER "3.10.0")
+ include (GoogleTest)
+ else()
+ include (CTest)
+ endif()
+endif()
+
add_subdirectory(src/hicn)
# Install service file in linux systems