浏览代码

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 年之前
父节点
当前提交
5a05de302d
共有 1 个文件被更改,包括 2 次插入2 次删除
  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)