mirror of
https://github.com/cookiengineer/audacity
synced 2025-05-04 17:49:45 +02:00
I've reproduced the commands from FLAC's configure.ac. Seems to build fine on Windows, MacOS, Linux and FreeBSD
50 lines
2.0 KiB
CMake
50 lines
2.0 KiB
CMake
#directory lib-src/FileDialog
|
|
set(TARGET FileDialog)
|
|
set(TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET})
|
|
project(${TARGET})
|
|
|
|
add_library(${TARGET} STATIC ${LIB_SRC_DIRECTORY}FileDialog/FileDialog.cpp)
|
|
target_include_directories(${TARGET} PRIVATE ${TARGET_SOURCE})
|
|
set_target_properties(${TARGET} PROPERTIES
|
|
CXX_STANDARD 11
|
|
OSX_ARCHITECTURES "")
|
|
|
|
find_package(wxWidgets REQUIRED COMPONENTS net core base)
|
|
include(${wxWidgets_USE_FILE})
|
|
target_compile_definitions(${TARGET} PRIVATE ${wxWidgets_DEFINITIONS})
|
|
target_compile_options(${TARGET} PRIVATE ${wxWidgets_CXX_FLAGS})
|
|
target_link_libraries(${TARGET} PRIVATE ${wxWidgets_LIBRARIES})
|
|
|
|
if(WIN32)
|
|
target_sources(${TARGET} PRIVATE ${LIB_SRC_DIRECTORY}FileDialog/win/FileDialogPrivate.cpp)
|
|
target_compile_definitions(${TARGET} PRIVATE __WIN32__)
|
|
target_include_directories(${TARGET} PRIVATE ${TARGET_SOURCE}/win)
|
|
elseif(APPLE)
|
|
target_sources(${TARGET} PRIVATE ${LIB_SRC_DIRECTORY}FileDialog/mac/FileDialogPrivate.mm)
|
|
target_compile_options(${TARGET} PRIVATE -Wno-deprecated-declarations)
|
|
target_include_directories(${TARGET} PRIVATE ${TARGET_SOURCE}/mac)
|
|
else()
|
|
target_sources(${TARGET} PRIVATE ${LIB_SRC_DIRECTORY}FileDialog/gtk/FileDialogPrivate.cpp)
|
|
|
|
find_program(wxWidgets_CONFIG_EXECUTABLE
|
|
NAMES wx-config wx-config-3.1 wx-config-3.0 wx-config-2.9 wx-config-2.8
|
|
ONLY_CMAKE_FIND_ROOT_PATH)
|
|
execute_process(
|
|
COMMAND sh "${wxWidgets_CONFIG_EXECUTABLE}" --query-toolkit
|
|
OUTPUT_VARIABLE WXGTK
|
|
RESULT_VARIABLE RET
|
|
ERROR_QUIET)
|
|
string(STRIP "${WXGTK}" WXGTK)
|
|
if(RET EQUAL 0 AND WXGTK STREQUAL "gtk3")
|
|
set(GTK_PACKAGE gtk+-3.0)
|
|
else()
|
|
set(GTK_PACKAGE gtk+-2.0)
|
|
endif()
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
pkg_check_modules(GTK REQUIRED ${GTK_PACKAGE})
|
|
target_compile_options(${TARGET} PRIVATE -Wno-deprecated-declarations ${GTK_CFLAGS})
|
|
target_include_directories(${TARGET} PRIVATE ${TARGET_SOURCE}/gtk ${GTK_INCLUDE_DIRS})
|
|
target_link_libraries(${TARGET} PUBLIC ${GTK_LIBRARIES})
|
|
endif()
|