Warning, /frameworks/kinit/KF5InitMacros.cmake is written in an unsupported language. File is not indexed.

0001 set(_KINITDIR ${CMAKE_CURRENT_LIST_DIR})
0002 
0003 macro(_FIND_KDEINIT_FILE OUTPUT_VAR INFIX)
0004     set(_KDE5INIT_DUMMY_FILENAME kde5init${INFIX}_dummy.cpp.in)
0005     if(KInit_SOURCE_DIR)
0006         set(${OUTPUT_VAR} "${KInit_SOURCE_DIR}/${_KDE5INIT_DUMMY_FILENAME}")
0007     else()
0008         find_file(${OUTPUT_VAR} NAMES ${_KDE5INIT_DUMMY_FILENAME} HINTS ${_KINITDIR})
0009     endif()
0010 endmacro()
0011 
0012 function (KF5_ADD_KDEINIT_EXECUTABLE _target_NAME )
0013     cmake_parse_arguments(KF5_KDEINIT "NOGUI" "" "" ${ARGN} )
0014     set(_SRCS ${KF5_KDEINIT_UNPARSED_ARGUMENTS})
0015 
0016     _FIND_KDEINIT_FILE(_KDE5INIT_DUMMY_FILEPATH "")
0017     configure_file(${_KDE5INIT_DUMMY_FILEPATH} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp)
0018 
0019     if(WIN32)
0020         if (MINGW)
0021             list(FIND _SRCS ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_res.o _res_position)
0022         else(MINGW)
0023             list(FIND _SRCS ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}.rc _res_position)
0024         endif(MINGW)
0025         if(NOT _res_position EQUAL -1)
0026             list(GET _SRCS ${_res_position} _resourcefile)
0027             list(REMOVE_AT _SRCS ${_res_position})
0028         endif(NOT _res_position EQUAL -1)
0029 
0030         # We don't need a shared library on Windows, use a static library that gets included in the executable.
0031         # Since Windows doesn't use fork()+exec() there is no use for this library by kdeinit.
0032         # Having the static library ensures that target_link_libraries(myexe kdeinit_foo) also works on Windows and not just on UNIX
0033         add_library(kdeinit_${_target_NAME} STATIC ${_SRCS})
0034     else()
0035         # Use a shared library on UNIX so that kdeinit can dlopen() it
0036         add_library(kdeinit_${_target_NAME} SHARED ${_SRCS})
0037     endif()
0038     if (APPLE)
0039         set(_resourcefile ${MACOSX_BUNDLE_ICON_FILE})
0040     endif()
0041     add_executable(${_target_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${_target_NAME}_dummy.cpp ${_resourcefile})
0042     target_link_libraries(${_target_NAME} kdeinit_${_target_NAME})
0043     set_target_properties(kdeinit_${_target_NAME} PROPERTIES OUTPUT_NAME kdeinit5_${_target_NAME})
0044 
0045     if(KF5_KDEINIT_NOGUI)
0046         ecm_mark_nongui_executable(${_target_NAME})
0047     endif()
0048 endfunction ()