Guest User

Untitled

a guest
Dec 18th, 2018
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. cmake_minimum_required(VERSION 3.0)
  2. set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_modules" ${CMAKE_MODULE_PATH})
  3. set(CMAKE_CXX_STANDARD 14)
  4. #### PROJECT TMXL BUILD ####
  5. project(TMXL)
  6. set(TMLX_LIBRARY_NAME ${PROJECT_NAME})
  7. set(TMXL_INCLUDE_DIR "${CMAKE_SOURCE_DIR}/TMXL")
  8.  
  9. file(GLOB TMXL_LIBRARY_HEADERS "${PROJECT_SOURCE_DIR}/TMXL/*.h")
  10. file(GLOB TMXL_LIBRARY_SOURCES "${PROJECT_SOURCE_DIR}/TMXL/*.cpp")
  11. add_library(${TMLX_LIBRARY_NAME} SHARED ${TMXL_SOURCE_LIST} ${TMXL_LIBRARY_HEADERS} ${TMXL_LIBRARY_SOURCES})
  12.  
  13. find_package(SFML REQUIRED window graphics system)
  14. if(SFML_FOUND)
  15. include_directories(${SFML_INCLUDE_DIR})
  16. target_link_libraries(${TMLX_LIBRARY_NAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
  17. endif()
  18.  
  19. #include_directories("${CMAKE_SOURCE_DIR}/extlibs")
  20. set(TINYXML2_LIBRARY_NAME tinyxml2)
  21. add_library(${TINYXML2_LIBRARY_NAME} "${CMAKE_SOURCE_DIR}/extlibs/tinyxml2/tinyxml2.h"
  22. "${CMAKE_SOURCE_DIR}/extlibs/tinyxml2/tinyxml2.cpp")
  23. target_link_libraries(${TMLX_LIBRARY_NAME} tinyxml2)
  24. #### PROJECT TMXL BUILD ####
  25.  
  26. #### EXAMPLES BUILD ####
  27. add_subdirectory(examples/Base)
  28. install(TARGETS ${TINYXML2_LIBRARY_NAME} DESTINATION ${CMAKE_BINARY_DIR})
  29. #### EXAMPLES BUILD ####
  30.  
  31. cmake_minimum_required(VERSION 3.0)
  32. project(BaseExample)
  33.  
  34. include_directories(${TMXL_INCLUDE_DIR})
  35. add_executable(${PROJECT_NAME} main.cpp)
  36.  
  37. install(TARGETS ${TINYXML2_LIBRARY_NAME} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
  38. install(TARGETS ${TMLX_LIBRARY_NAME} DESTINATION ${CMAKE_CURRENT_BINARY_DIR})
  39.  
  40. target_link_libraries(${PROJECT_NAME} ${TMLX_LIBRARY_NAME})
  41. target_link_libraries(${PROJECT_NAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
  42. target_link_libraries(${PROJECT_NAME} ${TINYXML2_LIBRARY_NAME})
  43.  
  44. add_custom_target(new_target
  45. ${CMAKE_COMMAND} -E copy file ${directory}/file
  46. )
  47.  
  48. CMAKE_ARCHIVE_OUTPUT_DIR
  49. CMAKE_LIBRARY_OUTPUT_DIR
  50. CMAKE_RUNTIME_OUTPUT_DIR
  51.  
  52. add_custom_target(copy_target ALL
  53. ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/folder ${CMAKE_RUNTIME_OUTPUT_DIR}/folder
  54. DEPENDS my_program
  55. COMMENT "Copy neded folder to compiling executable"
  56. )
Add Comment
Please, Sign In to add comment