From 1046afdf358dc562f3f8ce29022c088dd25e9407 Mon Sep 17 00:00:00 2001 From: Starg Date: Sat, 24 Sep 2022 21:34:30 +0900 Subject: [PATCH] [cmake] Fix target dependency --- CMakeLists.txt | 4 ++-- cfgforsf/CMakeLists.txt | 11 ++++------- interface/CMakeLists.txt | 29 +++++++++++++++-------------- sf_view_gui/CMakeLists.txt | 8 +------- timidity/CMakeLists.txt | 37 ++++++++----------------------------- 5 files changed, 30 insertions(+), 59 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 37849159..cb448121 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,9 +27,9 @@ if("${Git_FOUND}" AND EXISTS "${CMAKE_SOURCE_DIR}/.git") COMMAND "${CMAKE_COMMAND}" -DGIT_EXECUTABLE="${GIT_EXECUTABLE}" -DINFILE="${CMAKE_CURRENT_SOURCE_DIR}/version.h.in" - -DOUTFILE="${CMAKE_CURRENT_BINARY_DIR}/version.h" + -DOUTFILE="${PROJECT_BINARY_DIR}/version.h" -P "${CMAKE_CURRENT_SOURCE_DIR}/WriteVersion.cmake" - BYPRODUCTS "${CMAKE_CURRENT_BINARY_DIR}/version.h" + BYPRODUCTS "${PROJECT_BINARY_DIR}/version.h" WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}" COMMENT "Updating version info..." ) diff --git a/cfgforsf/CMakeLists.txt b/cfgforsf/CMakeLists.txt index 3179c476..d8616e1c 100644 --- a/cfgforsf/CMakeLists.txt +++ b/cfgforsf/CMakeLists.txt @@ -36,17 +36,14 @@ add_library( ../timidity/timidity.h ) +set_source_files_properties(../timidity/version.c PROPERTIES OBJECT_DEPENDS "${PROJECT_BINARY_DIR}/version.h") +add_dependencies(timidity_cfgforsf UpdateTim41Version) + add_executable( cfgforsf ../timidity/sndfont.c - - $ - $ - $ ) -add_dependencies(cfgforsf UpdateTim41Version) -target_link_libraries(cfgforsf ws2_32) - +target_link_libraries(cfgforsf timidity_cfgforsf libarc utils ws2_32) install(TARGETS cfgforsf) diff --git a/interface/CMakeLists.txt b/interface/CMakeLists.txt index a2b61d19..4a3a79ed 100644 --- a/interface/CMakeLists.txt +++ b/interface/CMakeLists.txt @@ -90,22 +90,23 @@ set( ../twsyn_bridge/twsyn_bridge_host.h ) -set_source_files_properties( - w32g_res.rc - - PROPERTIES - OBJECT_DEPENDS - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_btn.bmp" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon.ico" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon_gray.ico" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon_normal.ico" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon_silver.ico" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_playlist_play.ico" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_sleep.bmp" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_subbtn.bmp" - "${CMAKE_CURRENT_SOURCE_DIR}/w32g_tracer.bmp" +set( + W32GRES_DEPS + + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_btn.bmp" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon.ico" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon_gray.ico" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon_normal.ico" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_icon_silver.ico" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_playlist_play.ico" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_sleep.bmp" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_subbtn.bmp" + "${CMAKE_CURRENT_SOURCE_DIR}/w32g_tracer.bmp" + "${PROJECT_BINARY_DIR}/version.h" ) +set_source_files_properties(w32g_res.rc PROPERTIES OBJECT_DEPENDS "${W32GRES_DEPS}") + # for timidity add_library( diff --git a/sf_view_gui/CMakeLists.txt b/sf_view_gui/CMakeLists.txt index a42bd456..ea25abb8 100644 --- a/sf_view_gui/CMakeLists.txt +++ b/sf_view_gui/CMakeLists.txt @@ -20,13 +20,7 @@ add_executable( ../timidity/myini.h sfview_dlg.rc - - $ - $ - $ ) -add_dependencies(sfviewer UpdateTim41Version) -target_link_libraries(sfviewer comctl32 shlwapi ws2_32) - +target_link_libraries(sfviewer timidity_cfgforsf libarc utils comctl32 shlwapi ws2_32) install(TARGETS sfviewer) diff --git a/timidity/CMakeLists.txt b/timidity/CMakeLists.txt index d9c8fa09..e1ff9c23 100644 --- a/timidity/CMakeLists.txt +++ b/timidity/CMakeLists.txt @@ -22,7 +22,7 @@ add_custom_command( COMMAND calcnewton "${CMAKE_CURRENT_BINARY_DIR}/newton_table.c" ) -set_source_files_properties(resample.c OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/newton_table.c") +set_source_files_properties(resample.c PROPERTIES OBJECT_DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/newton_table.c") include_directories("${CMAKE_CURRENT_BINARY_DIR}") # timidity common @@ -62,10 +62,6 @@ set( timidity.h vstwrapper.h wrd.h - - $ - $ - $ ) add_definitions(${TIMIDITY_FE_DEFINITIONS}) @@ -190,6 +186,9 @@ add_library( ../vorbis-tools/vorbiscomment/vcedit.h ) +set_source_files_properties(version.c PROPERTIES OBJECT_DEPENDS "${PROJECT_BINARY_DIR}/version.h") +add_dependencies(timidity_common UpdateTim41Version) + set( TIMIDITY_COMMON_LIBS @@ -202,67 +201,47 @@ set( ) # timidity - add_executable( timidity ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE} - $ - $ ) -add_dependencies(timidity UpdateTim41Version) target_compile_definitions(timidity PRIVATE -DIA_NCURSES -DIA_VT100) -target_link_libraries(timidity ${TIMIDITY_COMMON_LIBS} pdcurses) - +target_link_libraries(timidity interface libarc libunimod utils timidity_common ${TIMIDITY_COMMON_LIBS} pdcurses) install(TARGETS timidity) # twsynsrv - add_executable( twsynsrv ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE} - $ - $ ) -add_dependencies(twsynsrv UpdateTim41Version) target_compile_definitions(twsynsrv PRIVATE -DIA_WINSYN -DTWSYNSRV -DTWSYNG32INI) -target_link_libraries(twsynsrv ${TIMIDITY_COMMON_LIBS}) - +target_link_libraries(twsynsrv interface_synsrv libarc libunimod utils timidity_common ${TIMIDITY_COMMON_LIBS}) install(TARGETS twsynsrv) # timw32g - add_executable( timw32g WIN32 ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE} - $ - $ ) -add_dependencies(timw32g UpdateTim41Version) target_compile_definitions(timw32g PRIVATE -DIA_W32GUI -D__W32G__) -target_link_libraries(timw32g ${TIMIDITY_COMMON_LIBS}) +target_link_libraries(timw32g interface_w32g libarc libunimod utils timidity_common ${TIMIDITY_COMMON_LIBS}) DisableMSManifest(timw32g) - install(TARGETS timw32g) # twsyng - add_executable( twsyng WIN32 ${TIMIDITY_INTERFACE_DEPENDENT_SOURCE} - $ - $ ) -add_dependencies(twsyng UpdateTim41Version) target_compile_definitions(twsyng PRIVATE -DIA_WINSYN -DIA_W32G_SYN -D__W32G__ -DTWSYNG32 -DTWSYNG32INI) -target_link_libraries(twsyng ${TIMIDITY_COMMON_LIBS}) +target_link_libraries(twsyng interface_w32gsyn libarc libunimod utils timidity_common ${TIMIDITY_COMMON_LIBS}) DisableMSManifest(twsyng) - install(TARGETS twsyng) -- 2.11.0