CMakeLists.txt 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. option(TORQUE_USE_ZENITY "Use Zenity" ON)
  2. set(TORQUE_NFD_ROOT "${CMAKE_SOURCE_DIR}/Engine/lib/nativeFileDialogs")
  3. set(TORQUE_NFD_COMMON_SOURCES "${TORQUE_NFD_ROOT}/nfd_common.c")
  4. set(TORQUE_NFD_INCLUDE_DIRECTORIES "${TORQUE_NFD_ROOT}" "${TORQUE_NFD_ROOT}/include")
  5. if (APPLE)
  6. enable_language(OBJC)
  7. set(TORQUE_NFD_SOURCES ${TORQUE_NFD_COMMON_SOURCES} "${TORQUE_NFD_ROOT}/nfd_cocoa.m")
  8. set_source_files_properties(${TORQUE_NFD_SOURCES} PROPERTIES LANGUAGE OBJC)
  9. elseif (UNIX)
  10. if (TORQUE_USE_ZENITY)
  11. set(TORQUE_NFD_SOURCES ${TORQUE_NFD_COMMON_SOURCES} "${TORQUE_NFD_ROOT}/nfd_zenity.c")
  12. else()
  13. find_package(PkgConfig REQUIRED)
  14. pkg_check_modules(GTK3 REQUIRED gtk+-3.0)
  15. include_directories(${GTK3_INCLUDE_DIRS})
  16. link_directories(${GTK3_LIBRARY_DIRS})
  17. add_definitions(${GTK3_CFLAGS_OTHER})
  18. set(TORQUE_NFD_SOURCES ${TORQUE_NFD_COMMON_SOURCES} "${TORQUE_NFD_ROOT}/nfd_gtk.c")
  19. endif()
  20. elseif (WIN32)
  21. set(TORQUE_NFD_SOURCES ${TORQUE_NFD_COMMON_SOURCES} "${TORQUE_NFD_ROOT}/nfd_win.cpp")
  22. endif(APPLE)
  23. add_library(nativeFileDialogs STATIC ${TORQUE_NFD_SOURCES})
  24. target_include_directories(nativeFileDialogs PUBLIC ${TORQUE_NFD_INCLUDE_DIRECTORIES})
  25. if(UNIX)
  26. target_link_libraries(nativeFileDialogs ${GTK3_LIBRARIES})
  27. endif()