@@ -28,13 +28,12 @@ get_property(ALL_SRCS GLOBAL PROPERTY SRCS_LIST)
2828set (MAIN_SRCS main.cpp)
2929
3030source_group ("Source Files" FILES ${MAIN_SRCS} )
31- set (SOURCES ${MAIN_SRCS} ${ALL_SRCS} )
3231
3332# Set some Objective-C flags.
3433# We need to force the Language to C instead of C++
3534# and also make sure that we use ARC
3635#
37- foreach (S ${SOURCES } )
36+ foreach (S ${ALL_SRCS } )
3837 string (REGEX MATCH ".*\\ .m$" MATCH_OBJC ${S} )
3938 if (MATCH_OBJC)
4039 set_property (SOURCE ${S} PROPERTY COMPILE_FLAGS "-fobjc-arc" )
@@ -51,6 +50,9 @@ foreach(sfile in ${ALL_SRCS})
5150 source_group ("Source Files\\\\ ${GNAME} " FILES ${sfile} )
5251endforeach (sfile in ${ALL_SRCS} )
5352
53+ # Build core sources as static library for reuse by tests
54+ add_library (jmp_core STATIC ${ALL_SRCS} )
55+
5456file (GLOB_RECURSE RESOURCE_FILES ${CMAKE_SOURCE_DIR } /resources/* )
5557file (GLOB_RECURSE NATIVE_FILES ${CMAKE_SOURCE_DIR } /native/* )
5658
@@ -125,7 +127,7 @@ if(XCODE)
125127endif ()
126128
127129get_property (BUNDLED_FILES GLOBAL PROPERTY CONFIG_BUNDLED_FILES)
128- add_executable (${MAIN_TARGET} WIN32 MACOSX_BUNDLE ${SOURCES } ${BUNDLED_FILES} ${RESOURCE_FILES} ${XCODE_RESOURCES} )
130+ add_executable (${MAIN_TARGET} WIN32 MACOSX_BUNDLE ${MAIN_SRCS } ${BUNDLED_FILES} ${RESOURCE_FILES} ${XCODE_RESOURCES} )
129131std_target_properties (${MAIN_TARGET} )
130132set_target_properties (${MAIN_TARGET} PROPERTIES
131133 MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR } /bundle /osx/Info.plist.in
@@ -167,7 +169,8 @@ else()
167169 set (MPVQT_TARGET MpvQt::MpvQt)
168170endif ()
169171
170- target_link_libraries (${MAIN_TARGET}
172+ # Link core library with all dependencies
173+ target_link_libraries (jmp_core
171174 shared
172175 ${MPV_LIBRARY}
173176 ${OPENGL_LIBS}
@@ -191,6 +194,8 @@ target_link_libraries(${MAIN_TARGET}
191194 Qt6::DBus
192195 ${MPVQT_TARGET}
193196)
197+
198+ target_link_libraries (${MAIN_TARGET} jmp_core )
194199install (TARGETS ${MAIN_TARGET} DESTINATION ${INSTALL_BIN_DIR} )
195200
196201set (EXE "${MAIN_NAME} .app" )
0 commit comments