Browse Source

Do not force using the C compiler as the linker

Forcing the C compiler as the linker fails when linking sq_static
because the C++ standard library does not get linked in. By not forcing
this, CMake gets to choose which compiler to use as the linker based on
the languages of the files that comprise what is being linked, and in
this case it will choose to use the C++ compiler, fixing the problem.

Fixes #290
Ryan Carsten Schmidt 1 year ago
parent
commit
5a05de302d
1 changed files with 2 additions and 2 deletions
  1. 2 2
      sq/CMakeLists.txt

+ 2 - 2
sq/CMakeLists.txt

@@ -2,7 +2,7 @@ set(CMAKE_C_STANDARD 99)
 if(NOT DISABLE_DYNAMIC)
   add_executable(sq sq.c)
   add_executable(squirrel::interpreter ALIAS sq)
-  set_target_properties(sq PROPERTIES LINKER_LANGUAGE C EXPORT_NAME interpreter)
+  set_target_properties(sq PROPERTIES EXPORT_NAME interpreter)
   target_link_libraries(sq squirrel sqstdlib)
   if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS sq EXPORT squirrel RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime)
@@ -16,7 +16,7 @@ endif()
 if(NOT DISABLE_STATIC)
   add_executable(sq_static sq.c)
   add_executable(squirrel::interpreter_static ALIAS sq_static)
-  set_target_properties(sq_static PROPERTIES LINKER_LANGUAGE C EXPORT_NAME interpreter_static)
+  set_target_properties(sq_static PROPERTIES EXPORT_NAME interpreter_static)
   target_link_libraries(sq_static squirrel_static sqstdlib_static)
   if(NOT SQ_DISABLE_INSTALLER)
     install(TARGETS sq_static EXPORT squirrel RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT Runtime)