2020-10-20 14:54:12 +02:00
|
|
|
cmake_minimum_required(VERSION 3.0.0)
|
2021-01-03 18:08:52 +01:00
|
|
|
project(soundux VERSION 0.1.5)
|
2020-10-20 14:54:12 +02:00
|
|
|
|
2020-11-24 16:50:16 +01:00
|
|
|
if (NOT EXISTS "${CMAKE_SOURCE_DIR}/src/MaterialDesign.js")
|
2020-12-15 16:51:22 +01:00
|
|
|
if (MSVC)
|
|
|
|
execute_process(COMMAND cmd /c python "${CMAKE_SOURCE_DIR}/lib/generateMaterialDesignJs.py"
|
|
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/lib")
|
|
|
|
else()
|
2020-12-15 16:58:03 +01:00
|
|
|
execute_process(COMMAND python3 "${CMAKE_SOURCE_DIR}/lib/generateMaterialDesignJs.py"
|
2020-12-15 16:43:09 +01:00
|
|
|
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/lib")
|
2020-12-15 16:51:22 +01:00
|
|
|
endif()
|
2020-12-15 16:43:09 +01:00
|
|
|
message("Generated MaterialDesign.js")
|
2020-11-24 16:50:16 +01:00
|
|
|
endif()
|
|
|
|
|
2020-10-20 14:54:12 +02:00
|
|
|
file(GLOB src
|
|
|
|
"src/*.cpp"
|
2020-10-20 15:25:12 +02:00
|
|
|
"src/*.qml"
|
2020-10-22 14:26:29 +02:00
|
|
|
"src/*/*.cpp"
|
2020-10-20 14:54:12 +02:00
|
|
|
)
|
|
|
|
|
2020-10-20 15:25:12 +02:00
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
set(CMAKE_AUTOUIC ON)
|
|
|
|
find_package(Qt5 COMPONENTS Widgets Qml Quick QuickControls2 REQUIRED)
|
|
|
|
include_directories(${Qt5Widgets_INCLUDE_DIRS} ${QtQml_INCLUDE_DIRS})
|
|
|
|
add_definitions(${Qt5Widgets_DEFINITIONS} ${QtQml_DEFINITIONS} ${${Qt5Quick_DEFINITIONS}})
|
|
|
|
qt5_add_resources(QT_RESOURCES src/qml.qrc)
|
|
|
|
|
2020-10-21 16:11:03 +02:00
|
|
|
if (UNIX)
|
2020-10-21 16:29:06 +02:00
|
|
|
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
2020-10-21 16:11:03 +02:00
|
|
|
find_package(X11 REQUIRED)
|
2020-10-21 16:29:06 +02:00
|
|
|
find_package(Threads REQUIRED)
|
|
|
|
include_directories(${X11_INCLUDE_DIR} ${X11_Xinput_INCLUDE_PATH})
|
2020-10-21 16:11:03 +02:00
|
|
|
endif(UNIX)
|
|
|
|
|
|
|
|
include_directories("lib/json/single_include/nlohmann")
|
2020-10-22 14:26:29 +02:00
|
|
|
include_directories("lib/object_threadsafe")
|
2020-10-21 16:11:03 +02:00
|
|
|
include_directories("lib/miniaudio")
|
2020-10-20 14:54:12 +02:00
|
|
|
|
|
|
|
if(MSVC)
|
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17")
|
|
|
|
else()
|
2020-11-11 17:28:00 +01:00
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -Wall")
|
2020-10-20 14:54:12 +02:00
|
|
|
endif(MSVC)
|
|
|
|
|
2020-12-18 01:06:39 +01:00
|
|
|
add_executable(soundux ${src} ${QT_RESOURCES})
|
|
|
|
|
2020-12-17 20:42:08 +01:00
|
|
|
install(TARGETS soundux DESTINATION bin)
|
2020-10-20 15:25:12 +02:00
|
|
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
|
|
|
|
|
2020-10-21 16:11:03 +02:00
|
|
|
if (UNIX)
|
2020-11-12 19:45:24 +01:00
|
|
|
target_link_libraries(soundux ${X11_LIBRARIES} ${X11_Xinput_LIB} ${CMAKE_DL_LIBS})
|
|
|
|
target_link_libraries(soundux pthread)
|
2020-10-21 16:11:03 +02:00
|
|
|
endif(UNIX)
|
|
|
|
|
2020-11-12 19:45:24 +01:00
|
|
|
target_link_libraries(soundux
|
2020-10-20 15:25:12 +02:00
|
|
|
Qt5::Widgets
|
|
|
|
Qt5::Qml
|
|
|
|
Qt5::Quick
|
|
|
|
Qt5::QuickControls2
|
|
|
|
)
|
|
|
|
|
2020-10-20 14:54:12 +02:00
|
|
|
set(CMAKE_CXX_STANDARD 17)
|
|
|
|
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
|
2020-12-10 19:30:25 +01:00
|
|
|
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|