Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
usFunctionCreateTestModule.cmake
Go to the documentation of this file.
1 
3 
4  add_library(${name} ${_srcs})
5  set_property(TARGET ${name}
6  APPEND PROPERTY COMPILE_DEFINITIONS US_MODULE_NAME=${name})
7  set_property(TARGET ${name} PROPERTY US_MODULE_NAME ${name})
8  set_property(TARGET ${name} PROPERTY FOLDER "${MITK_ROOT_FOLDER}/CppMicroServices/Tests")
9  if(NOT US_BUILD_SHARED_LIBS OR NOT BUILD_SHARED_LIBS)
10  set_property(TARGET ${name} APPEND PROPERTY COMPILE_DEFINITIONS US_STATIC_MODULE)
11  endif()
12  if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
13  get_property(_compile_flags TARGET ${name} PROPERTY COMPILE_FLAGS)
14  set_property(TARGET ${name} PROPERTY COMPILE_FLAGS "${_compile_flags} -fPIC")
15  endif()
16 
17  target_link_libraries(${name} ${${PROJECT_NAME}_TARGET} ${US_TEST_LINK_LIBRARIES} ${US_LINK_LIBRARIES})
18 
19  if(_res_files OR US_TEST_LINK_LIBRARIES)
20  usFunctionAddResources(TARGET ${name} WORKING_DIRECTORY ${_res_root}
21  FILES ${_res_files}
22  ZIP_ARCHIVES ${US_TEST_LINK_LIBRARIES})
23  endif()
24  if(_bin_res_files)
25  usFunctionAddResources(TARGET ${name} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/resources
26  FILES ${_bin_res_files})
27  endif()
28 
29  usFunctionEmbedResources(TARGET ${name} ${_mode})
30 
31  if(NOT US_TEST_SKIP_MODULE_LIST)
32  set(_us_test_module_libs "${_us_test_module_libs};${name}" CACHE INTERNAL "" FORCE)
33  endif()
34 
35 endmacro()
36 
37 function(usFunctionCreateTestModule name)
38  set(_srcs ${ARGN})
39  set(_res_files )
40  set(_bin_res_files )
43 endfunction()
44 
46  cmake_parse_arguments(US_TEST "SKIP_MODULE_LIST;LINK_RESOURCES;APPEND_RESOURCES" "RESOURCES_ROOT" "SOURCES;RESOURCES;BINARY_RESOURCES;LINK_LIBRARIES" "" ${ARGN})
47 
48  set(_mode )
49  if(US_TEST_LINK_RESOURCES)
50  set(_mode LINK)
51  elseif(US_TEST_APPEND_RESOURCES)
52  set(_mode APPEND)
53  endif()
54 
55  set(_srcs ${US_TEST_SOURCES})
56  usFunctionGetResourceSource(TARGET ${name} OUT _srcs ${_mode})
57  set(_res_files ${US_TEST_RESOURCES})
58  set(_bin_res_files ${US_TEST_BINARY_RESOURCES})
59  if(US_TEST_RESOURCES_ROOT)
60  set(_res_root ${US_TEST_RESOURCES_ROOT})
61  else()
62  set(_res_root ${CMAKE_CURRENT_SOURCE_DIR}/resources)
63  endif()
66 endfunction()
_us_create_test_module_helper()
usFunctionAddResources()
Add resources to a library or executable.
usFunctionCreateTestModuleWithResources(name)
usFunctionEmbedResources()
Embed resources in a library or executable.
usFunctionCreateTestModule(name)
usFunctionGetResourceSource()
Get a source file name for handling resource dependencies.
const std::string LINK
usFunctionGenerateModuleInit(src_var)
Generate a source file which handles proper initialization of a module.
const std::string TARGET