diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e739f36aa..5e4dc2fe4 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -64,16 +64,16 @@ ENDIF() # Enable C++11 ADD_DEFINITIONS("-std=c++0x") -ADD_EXECUTABLE(lmms - core/main.cpp +ADD_LIBRARY(lmmsobjs OBJECT ${LMMS_SRCS} ${LMMS_INCLUDES} ${LMMS_UI_OUT} ${LMMS_ER_H} - "${WINRC}" ) -SET_TARGET_PROPERTIES(lmms PROPERTIES - ENABLE_EXPORTS ON +ADD_EXECUTABLE(lmms + $ + core/main.cpp + "${WINRC}" ) SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${LMMS_ER_H} ${LMMS_UI_OUT} lmmsconfig.h lmms.1.gz") @@ -82,7 +82,7 @@ IF(LMMS_BUILD_WIN32) SET(EXTRA_LIBRARIES "-lwinmm") ENDIF() -TARGET_LINK_LIBRARIES(lmms +SET(LMMS_REQUIRED_LIBS ${CMAKE_THREAD_LIBS_INIT} ${QT_LIBRARIES} ${ASOUND_LIBRARY} @@ -95,6 +95,12 @@ TARGET_LINK_LIBRARIES(lmms ${SNDFILE_LIBRARIES} ${EXTRA_LIBRARIES} ) +# Expose required libs for tests binary +SET(LMMS_REQUIRED_LIBS ${LMMS_REQUIRED_LIBS} PARENT_SCOPE) + +TARGET_LINK_LIBRARIES(lmms + ${LMMS_REQUIRED_LIBS} +) IF(QT5) TARGET_LINK_LIBRARIES(lmms @@ -138,6 +144,7 @@ ENDFOREACH(_item ${qm_targets}) IF(LMMS_BUILD_WIN32) SET_TARGET_PROPERTIES(lmms PROPERTIES LINK_FLAGS "${LINK_FLAGS} -mwindows" + ENABLE_EXPORTS ON ) ADD_CUSTOM_COMMAND(TARGET lmms POST_BUILD COMMAND "${STRIP}" "$") diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index f74c5a4b2..0a42b2729 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,6 +1,7 @@ INCLUDE_DIRECTORIES("${CMAKE_CURRENT_SOURCE_DIR}") INCLUDE_DIRECTORIES("${CMAKE_CURRENT_BINARY_DIR}") INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/include") +INCLUDE_DIRECTORIES("${CMAKE_BINARY_DIR}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++0x") @@ -10,6 +11,8 @@ ADD_EXECUTABLE(tests EXCLUDE_FROM_ALL main.cpp QTestSuite + + $ ) TARGET_LINK_LIBRARIES(tests ${QT_LIBRARIES} ${QT_QTTEST_LIBRARY}) -TARGET_LINK_LIBRARIES(tests lmms) +TARGET_LINK_LIBRARIES(tests ${LMMS_REQUIRED_LIBS})