mirror of
https://github.com/cookiengineer/audacity
synced 2025-10-26 15:23:48 +01:00
Updates the cmake build system
It's still has some work, but it successfully builds on all 3 main platforms. Some of the outstanding items include: Install target testing (mostly important for Linux) CMakeList clean up and comments Debug and Release build verification Audit of compile/link options Need a Mac signed and notarized build (and probably more)
This commit is contained in:
@@ -1,31 +1,28 @@
|
||||
#directory cmake-proxies/portsmf
|
||||
set( TARGET portsmf )
|
||||
set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET} )
|
||||
project( ${TARGET} )
|
||||
|
||||
set( SOURCES
|
||||
${LIB_SRC_DIRECTORY}portsmf/allegro.cpp
|
||||
${LIB_SRC_DIRECTORY}portsmf/allegrord.cpp
|
||||
${LIB_SRC_DIRECTORY}portsmf/allegroserial.cpp
|
||||
${LIB_SRC_DIRECTORY}portsmf/allegrosmfrd.cpp
|
||||
${LIB_SRC_DIRECTORY}portsmf/allegrosmfwr.cpp
|
||||
${LIB_SRC_DIRECTORY}portsmf/allegrowr.cpp
|
||||
${LIB_SRC_DIRECTORY}portsmf/mfmidi.cpp
|
||||
${LIB_SRC_DIRECTORY}portsmf/strparse.cpp
|
||||
#${LIB_SRC_DIRECTORY}portsmf/trace.cpp
|
||||
#${LIB_SRC_DIRECTORY}portsmf/apps/allegroconvert.cpp
|
||||
#${LIB_SRC_DIRECTORY}portsmf/apps/allegroplay.cpp
|
||||
#${LIB_SRC_DIRECTORY}portsmf/apps/seq2midi.cpp
|
||||
#${LIB_SRC_DIRECTORY}portsmf/portsmf_test/portsmf_test.cpp
|
||||
)
|
||||
# This defines the #define on both Windows and Linux.
|
||||
add_definitions(
|
||||
-D_LIB
|
||||
)
|
||||
add_library( ${TARGET} STATIC ${SOURCES})
|
||||
|
||||
target_include_directories( ${TARGET} PRIVATE
|
||||
add_library( ${TARGET} STATIC )
|
||||
|
||||
list( APPEND SOURCES
|
||||
PRIVATE
|
||||
${TARGET_ROOT}/allegro.cpp
|
||||
${TARGET_ROOT}/allegrord.cpp
|
||||
${TARGET_ROOT}/allegroserial.cpp
|
||||
${TARGET_ROOT}/allegrosmfrd.cpp
|
||||
${TARGET_ROOT}/allegrosmfwr.cpp
|
||||
${TARGET_ROOT}/allegrowr.cpp
|
||||
${TARGET_ROOT}/mfmidi.cpp
|
||||
${TARGET_ROOT}/strparse.cpp
|
||||
)
|
||||
|
||||
target_link_libraries( ${TARGET} )
|
||||
list( APPEND INCLUDES
|
||||
PUBLIC
|
||||
${TARGET_ROOT}/include
|
||||
)
|
||||
|
||||
organize_source( "${TARGET_ROOT}" "" "${SOURCES}" )
|
||||
target_sources( ${TARGET} PRIVATE ${SOURCES} )
|
||||
target_compile_definitions( ${TARGET} PRIVATE ${DEFINES} )
|
||||
target_compile_features( ${TARGET} PRIVATE ${FEATURES} )
|
||||
target_compile_options( ${TARGET} PRIVATE ${OPTIONS} )
|
||||
target_include_directories( ${TARGET} PRIVATE ${INCLUDES} )
|
||||
target_link_libraries( ${TARGET} PRIVATE ${LIBRARIES} )
|
||||
|
||||
|
||||
Reference in New Issue
Block a user