Advertisement
Guest User

Untitled

a guest
May 18th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
CMake 3.89 KB | None | 0 0
  1. set(PROJECT_NAME g3log)
  2. project(${PROJECT_NAME} CXX)
  3.  
  4. ############ Header Files #############
  5. set(HEADERS_FILES
  6.     # Here instead of these paths
  7.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/active.hpp
  8.     # We should have something like (as for config below):
  9.     ${CMAKE_CURRENT_SOURCE_DIR}../../../../latest/src/g3log/active.hpp
  10.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/crashhandler.hpp
  11.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/filesink.hpp
  12.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/future.hpp
  13.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/g3log.hpp
  14.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/generated_definitions.hpp
  15.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/logcapture.hpp
  16.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/loglevels.hpp
  17.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/logmessage.hpp
  18.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/logworker.hpp
  19.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/moveoncopy.hpp
  20.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/shared_queue.hpp
  21.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/sink.hpp
  22.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/sinkhandle.hpp
  23.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/sinkwrapper.hpp
  24.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/stacktrace_windows.hpp
  25.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/std2_make_unique.hpp
  26.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/stlpatch_future.hpp
  27.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log/time.hpp
  28. )
  29. source_group("Headers" FILES ${HEADERS_FILES})
  30.  
  31. ############ Source Files #############
  32. set(SRC_FILES
  33.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/crashhandler_windows.cpp
  34.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/filesink.cpp
  35.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/g3log.cpp
  36.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/logcapture.cpp
  37.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/loglevels.cpp
  38.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/logmessage.cpp
  39.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/logworker.cpp
  40.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/stacktrace_windows.cpp
  41.     ${CMAKE_CURRENT_SOURCE_DIR}/../../../../latest/src/time.cpp
  42. )
  43. source_group("Sources" FILES ${SRC_FILES})
  44.  
  45. # Warning: pch and target are the same for every configuration
  46. add_library(${PROJECT_NAME} STATIC ${SRC_FILES} ${HEADERS_FILES})
  47.  
  48. if("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "Win32")
  49.     string(CONCAT OUT_DIR
  50.         $<$<CONFIG:ReleaseDebug>:${CMAKE_CURRENT_SOURCE_DIR}../../../../../build/vc2017_x86/lib/>
  51.              $<$<CONFIG:Release>:${CMAKE_CURRENT_SOURCE_DIR}../../../../../build/vc2017_x86/lib/>
  52.                $<$<CONFIG:Debug>:${CMAKE_CURRENT_SOURCE_DIR}../../../../../build/vc2017_x86d/lib/>
  53.         $<$<NOT:$<OR:$<CONFIG:ReleaseDebug>,$<CONFIG:Release>,$<CONFIG:Debug>>>:${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>>
  54.     )
  55. elseif("${CMAKE_VS_PLATFORM_NAME}" STREQUAL "x64")
  56.     string(CONCAT OUT_DIR
  57.                $<$<CONFIG:Debug>:${CMAKE_CURRENT_SOURCE_DIR}../../../../../build/vc2017_x64d/lib/>
  58.         $<$<CONFIG:ReleaseDebug>:${CMAKE_CURRENT_SOURCE_DIR}../../../../../build/vc2017_x64/lib/>
  59.              $<$<CONFIG:Release>:${CMAKE_CURRENT_SOURCE_DIR}../../../../../build/vc2017_x64/lib/>
  60.         $<$<NOT:$<OR:$<CONFIG:Debug>,$<CONFIG:ReleaseDebug>,$<CONFIG:Release>>>:${CMAKE_SOURCE_DIR}/${CMAKE_VS_PLATFORM_NAME}/$<CONFIG>>
  61.     )
  62. else()
  63.     message(WARNING "${CMAKE_VS_PLATFORM_NAME} arch is not supported!")
  64. endif()
  65. set_target_properties(${PROJECT_NAME} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${OUT_DIR})
  66. set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${OUT_DIR})
  67. (...)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement