]> git.stg.codes - stg.git/blobdiff - projects/stargazer/plugins/CMakeLists.txt
Use async-radius.
[stg.git] / projects / stargazer / plugins / CMakeLists.txt
index 8adb6c5f9d5685f244607f7b13a996651a03a53a..a53349eaac8cb5a3807f56f569f350fd296a1de6 100644 (file)
@@ -11,6 +11,39 @@ if ( BUILD_MOD_AO )
     endif ()
 endif ( BUILD_MOD_AO )
 
+if ( BUILD_MOD_RADIUS )
+    find_package ( Boost REQUIRED )
+
+    add_library ( mod_radius MODULE other/radius/radius.cpp )
+    target_link_libraries ( mod_radius PRIVATE scriptexecuter logger common )
+    set_target_properties ( mod_radius PROPERTIES PREFIX "" )
+
+    include ( ExternalProject )
+
+    ExternalProject_Add ( async-radius
+                          GIT_REPOSITORY https://github.com/madf/async-radius.git
+                          GIT_TAG 1.1.0
+                          GIT_SHALLOW true
+                          INSTALL_COMMAND ""
+                          CMAKE_ARGS -DCMAKE_CXX_FLAGS=-fPIC )
+
+    ExternalProject_Get_property ( async-radius SOURCE_DIR BINARY_DIR )
+
+    target_include_directories ( mod_radius PRIVATE "${SOURCE_DIR}/include" )
+    target_link_directories ( mod_radius PRIVATE "${BINARY_DIR}/src" )
+
+    add_dependencies ( mod_radius async-radius )
+
+    target_link_libraries ( mod_radius PRIVATE radproto Boost::boost )
+
+    if ( CLANG_TIDY_EXE )
+        set_target_properties ( mod_radius PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" )
+    endif ()
+    if ( INCLUDE_WHAT_YOU_USE_EXE )
+        set_target_properties ( mod_radius PROPERTIES CXX_INCLUDE_WHAT_YOU_USE "${DO_INCLUDE_WHAT_YOU_USE}" )
+    endif ()
+endif ( BUILD_MOD_RADIUS )
+
 if ( BUILD_MOD_IA )
     add_library ( mod_auth_ia MODULE authorization/inetaccess/inetaccess.cpp )
     target_link_libraries ( mod_auth_ia scriptexecuter crypto logger common )
@@ -155,6 +188,9 @@ if ( BUILD_MOD_RPCCONFIG )
                                       configuration/rpcconfig/messages_methods.cpp )
     target_link_libraries ( mod_conf_rpc scriptexecuter logger common ${XMLRPC_LIBRARIES} )
     set_target_properties ( mod_conf_rpc PROPERTIES PREFIX "" )
+    if ( ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" )
+        set_target_properties ( mod_conf_rpc PROPERTIES LINK_FLAGS "-undefined dynamic_lookup" )
+    endif ( ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" )
 
     if ( CLANG_TIDY_EXE )
         set_target_properties ( mod_conf_rpc PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" )
@@ -272,6 +308,9 @@ if ( BUILD_MOD_STORE_POSTGRESQL )
                                               store/postgresql/postgresql_store_utils.cpp )
                                       target_link_libraries ( mod_store_postgresql crypto logger common ${PostgreSQL_LIBRARIES} )
     set_target_properties ( mod_store_postgresql PROPERTIES PREFIX "" )
+    if ( ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" )
+        set_target_properties ( mod_store_postgresql PROPERTIES LINK_FLAGS "-undefined dynamic_lookup" )
+    endif ( ${CMAKE_SYSTEM_NAME} STREQUAL "Darwin" )
 
     if ( CLANG_TIDY_EXE )
         set_target_properties ( mod_store_postgresql PROPERTIES CXX_CLANG_TIDY "${DO_CLANG_TIDY}" )