|
@@ -33,27 +33,31 @@ function(serenity_generated_sources target_name)
|
|
|
endif()
|
|
|
endfunction()
|
|
|
|
|
|
-function(serenity_lib target_name fs_name)
|
|
|
- serenity_install_headers(${target_name})
|
|
|
- serenity_install_sources()
|
|
|
- add_library(${target_name} SHARED ${SOURCES} ${GENERATED_SOURCES})
|
|
|
- set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
|
- set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
|
|
- install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
|
|
- set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
|
|
- serenity_generated_sources(${target_name})
|
|
|
-endfunction()
|
|
|
-
|
|
|
-function(serenity_lib_static target_name fs_name)
|
|
|
- serenity_install_headers(${target_name})
|
|
|
- serenity_install_sources()
|
|
|
- add_library(${target_name} STATIC ${SOURCES} ${GENERATED_SOURCES})
|
|
|
- set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
|
- set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
|
|
- install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
|
|
- set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
|
|
- serenity_generated_sources(${target_name})
|
|
|
-endfunction()
|
|
|
+if (NOT COMMAND serenity_lib)
|
|
|
+ function(serenity_lib target_name fs_name)
|
|
|
+ serenity_install_headers(${target_name})
|
|
|
+ serenity_install_sources()
|
|
|
+ add_library(${target_name} SHARED ${SOURCES} ${GENERATED_SOURCES})
|
|
|
+ set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
|
+ set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
|
|
+ install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
|
|
+ set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
|
|
+ serenity_generated_sources(${target_name})
|
|
|
+ endfunction()
|
|
|
+endif()
|
|
|
+
|
|
|
+if (NOT COMMAND serenity_lib_static)
|
|
|
+ function(serenity_lib_static target_name fs_name)
|
|
|
+ serenity_install_headers(${target_name})
|
|
|
+ serenity_install_sources()
|
|
|
+ add_library(${target_name} STATIC ${SOURCES} ${GENERATED_SOURCES})
|
|
|
+ set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
|
+ set_target_properties(${target_name} PROPERTIES VERSION "serenity")
|
|
|
+ install(TARGETS ${target_name} DESTINATION ${CMAKE_INSTALL_LIBDIR} OPTIONAL)
|
|
|
+ set_target_properties(${target_name} PROPERTIES OUTPUT_NAME ${fs_name})
|
|
|
+ serenity_generated_sources(${target_name})
|
|
|
+ endfunction()
|
|
|
+endif()
|
|
|
|
|
|
function(serenity_libc target_name fs_name)
|
|
|
serenity_install_headers("")
|
|
@@ -81,13 +85,15 @@ function(serenity_libc target_name fs_name)
|
|
|
serenity_generated_sources(${target_name})
|
|
|
endfunction()
|
|
|
|
|
|
-function(serenity_bin target_name)
|
|
|
- serenity_install_sources()
|
|
|
- add_executable(${target_name} ${SOURCES})
|
|
|
- set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
|
- install(TARGETS ${target_name} RUNTIME DESTINATION bin OPTIONAL)
|
|
|
- serenity_generated_sources(${target_name})
|
|
|
-endfunction()
|
|
|
+if (NOT COMMAND serenity_bin)
|
|
|
+ function(serenity_bin target_name)
|
|
|
+ serenity_install_sources()
|
|
|
+ add_executable(${target_name} ${SOURCES})
|
|
|
+ set_target_properties(${target_name} PROPERTIES EXCLUDE_FROM_ALL TRUE)
|
|
|
+ install(TARGETS ${target_name} RUNTIME DESTINATION bin OPTIONAL)
|
|
|
+ serenity_generated_sources(${target_name})
|
|
|
+ endfunction()
|
|
|
+endif()
|
|
|
|
|
|
function(serenity_test test_src sub_dir)
|
|
|
cmake_parse_arguments(PARSE_ARGV 2 SERENITY_TEST "MAIN_ALREADY_DEFINED" "CUSTOM_MAIN" "LIBS")
|