FrameworkLayout.cmake 1.2 KB

12345678910111213141516171819202122232425262728
  1. cmake_minimum_required(VERSION 3.4)
  2. enable_language(C)
  3. set(CMAKE_CONFIGURATION_TYPES "Debug" CACHE INTERNAL "Supported configuration types")
  4. set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}) # get rid of ${EFFECTIVE_PLATFORM_NAME}
  5. add_library(Framework ${FRAMEWORK_TYPE}
  6. foo.c
  7. foo.h
  8. res.txt
  9. flatresource.txt
  10. deepresource.txt
  11. some.txt)
  12. if("${CMAKE_FRAMEWORK}" STREQUAL "")
  13. set_target_properties(Framework PROPERTIES
  14. FRAMEWORK TRUE)
  15. endif()
  16. set_target_properties(Framework PROPERTIES
  17. PUBLIC_HEADER foo.h
  18. RESOURCE "res.txt")
  19. set_source_files_properties(flatresource.txt PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
  20. set_source_files_properties(deepresource.txt PROPERTIES MACOSX_PACKAGE_LOCATION Resources/deep)
  21. set_source_files_properties(some.txt PROPERTIES MACOSX_PACKAGE_LOCATION somedir)
  22. add_custom_command(TARGET Framework POST_BUILD
  23. COMMAND /usr/bin/file $<TARGET_FILE:Framework>)
  24. file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/FrameworkName.cmake CONTENT "set(framework-dir \"$<TARGET_BUNDLE_DIR:Framework>\")\n")