Skip to content
This repository was archived by the owner on Jun 25, 2020. It is now read-only.

Commit df92539

Browse files
committed
Fixes undefined reference error on MSYS2 and Ubuntu
1 parent c8f7243 commit df92539

3 files changed

Lines changed: 15 additions & 11 deletions

File tree

src/CMakeLists.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ set(global_includes
2121
${ASPELL_INCLUDE_DIR}
2222
../libclangmm/src
2323
../tiny-process-library
24+
.
2425
)
2526

2627
set(global_libraries
@@ -87,13 +88,13 @@ endif()
8788

8889
include_directories(${global_includes})
8990

90-
add_library(project_shared ${project_shared_files})
91+
add_library(project_shared OBJECT ${project_shared_files})
9192

9293
if(("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") AND (NOT $ENV{distribution} STREQUAL ""))
9394
add_library(${project_name} OBJECT ${project_files})
9495
else()
95-
add_executable(${project_name} ${project_files})
96-
target_link_libraries(${project_name} ${global_libraries} project_shared)
96+
add_executable(${project_name} ${project_files} $<TARGET_OBJECTS:project_shared>)
97+
target_link_libraries(${project_name} ${global_libraries})
9798
install(TARGETS ${project_name}
9899
RUNTIME DESTINATION bin
99100
)

tests/CMakeLists.txt

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,21 @@ set(stub_files
2929
stubs/tooltips.cc
3030
)
3131

32-
add_library(stubs ${stub_files})
32+
add_library(stubs OBJECT ${stub_files})
3333

3434
include_directories(${global_includes})
3535

36-
add_executable(cmake_build_test cmake_build_test.cc)
37-
target_link_libraries(cmake_build_test ${global_libraries} project_shared stubs)
36+
add_executable(cmake_build_test cmake_build_test.cc
37+
$<TARGET_OBJECTS:project_shared> $<TARGET_OBJECTS:stubs>)
38+
target_link_libraries(cmake_build_test ${global_libraries})
3839
add_test(cmake_build_test cmake_build_test)
3940

40-
add_executable(source_test source_test.cc)
41-
target_link_libraries(source_test ${global_libraries} project_shared stubs)
41+
add_executable(source_test source_test.cc
42+
$<TARGET_OBJECTS:project_shared> $<TARGET_OBJECTS:stubs>)
43+
target_link_libraries(source_test ${global_libraries})
4244
add_test(source_test source_test)
4345

44-
add_executable(source_clang_test source_clang_test.cc)
45-
target_link_libraries(source_clang_test ${global_libraries} project_shared stubs)
46+
add_executable(source_clang_test source_clang_test.cc
47+
$<TARGET_OBJECTS:project_shared> $<TARGET_OBJECTS:stubs>)
48+
target_link_libraries(source_clang_test ${global_libraries})
4649
add_test(source_clang_test source_clang_test)

tests/clang_project/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
set(project_name hello)
1+
project(hello)

0 commit comments

Comments
 (0)