set(SRCS include/nfd.h src/common.h src/nfd_common.c src/nfd_common.h ) add_library(nativefiledialog ${SRCS}) target_include_directories(nativefiledialog PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include" "${CMAKE_CURRENT_SOURCE_DIR}/src") target_include_directories(nativefiledialog INTERFACE "${CMAKE_CURRENT_SOURCE_DIR}/include") if(WIN32) target_sources(nativefiledialog PRIVATE src/nfd_win.cpp) elseif(APPLE) target_sources(nativefiledialog PRIVATE src/nfd_coca.m) else() find_package(GTK2 2.6 COMPONENTS gtk) if(GTK2_FOUND) message("Using GTK for nativefiledialog") target_sources(nativefiledialog PRIVATE src/nfd_gtk.c) target_include_directories(nativefiledialog PRIVATE ${GTK2_INCLUDE_DIRS}) target_link_libraries(nativefiledialog PRIVATE ${GTK2_LIBRARIES}) else() message(WARNING "Unknown platform for nativefiledialog") endif() endif()