1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-08 03:28:20 +02:00

Linux fixes, now using a IDEHelper_libs.txt file

This commit is contained in:
Brian Fiete 2020-05-21 12:55:58 -07:00
parent f8b27c13a2
commit 672be8a8f7
6 changed files with 123 additions and 79 deletions

View file

@ -133,11 +133,19 @@ add_executable(${PROJECT_NAME}
${SRC_FILES}
)
execute_process(
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_8_0_0/bin/llvm-config --system-libs --link-static
OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if (${APPLE})
set(TARGET_LIBS_OS "")
else()
#set(TARGET_LIBS_OS "tinfo")
set(TARGET_LIBS_OS "-Xlinker --no-demangle -v")
#set(TARGET_LIBS_OS "curses")
#set(TARGET_LIBS_OS "-Xlinker --no-demangle -v")
set(TARGET_LIBS_OS "${LLVM_SYSTEM_LIBS}")
endif()
# Link with other dependencies.

View file

@ -27,7 +27,8 @@ PreprocessorMacros = ["DEBUG", "CLI"]
[Configs.Debug.macOS]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
TargetName = "$(ProjectName)_d"
OtherLinkFlags = "./libBeefRT_d.a ./libIDEHelper_d.dylib ./libBeefySysLib_d.dylib ../../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a -Wl,-rpath -Wl,@executable_path"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs_d.txt\", \"IDEHelperLibs\")"]
OtherLinkFlags = "./libBeefRT_d.a ./libIDEHelper_d.dylib ./libBeefySysLib_d.dylib $(Var IDEHelperLibs) -Wl,-rpath -Wl,@executable_path"
CLibType = "Dynamic"
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"
DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist"
@ -36,7 +37,8 @@ PreprocessorMacros = ["DEBUG", "CLI"]
[Configs.Debug.Linux64]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
TargetName = "$(ProjectName)_d"
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper_d.so ./libBeefySysLib_d.so ../../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a -Wl,-rpath -Wl,$ORIGIN"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs_d.txt\", \"IDEHelperLibs\")"]
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper_d.so ./libBeefySysLib_d.so $(Var IDEHelperLibs) -Wl,-rpath -Wl,$ORIGIN"
CLibType = "Dynamic"
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"
DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist"
@ -44,7 +46,8 @@ PreprocessorMacros = ["DEBUG", "CLI"]
[Configs.Release.macOS]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
OtherLinkFlags = "./libBeefRT.a ./libIDEHelper.dylib ./libBeefySysLib.dylib ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDemangle.a -Wl,-rpath -Wl,@executable_path"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs.txt\", \"IDEHelperLibs\")"]
OtherLinkFlags = "./libBeefRT.a ./libIDEHelper.dylib ./libBeefySysLib.dylib $(Var IDEHelperLibs) -Wl,-rpath -Wl,@executable_path"
CLibType = "Dynamic"
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"
DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist"
@ -52,7 +55,8 @@ PreprocessorMacros = ["CLI"]
[Configs.Release.Linux64]
TargetDirectory = "$(WorkspaceDir)/../IDE/dist"
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper.so ./libBeefySysLib.so ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDemangle.a -Wl,-rpath -Wl,$ORIGIN"
PreBuildCmds = ["ReadFile(\"$(WorkspaceDir)/../IDE/dist/IDEHelper_libs.txt\", \"IDEHelperLibs\")"]
OtherLinkFlags = "$(LinkFlags) ./libIDEHelper.so ./libBeefySysLib.so $(Var IDEHelperLibs) -Wl,-rpath -Wl,$ORIGIN"
CLibType = "Dynamic"
DebugCommandArguments = "-proddir=..\\ -config=Debug -platform=Win64"
DebugWorkingDirectory = "$(WorkspaceDir)/../IDE/dist"

View file

@ -43,15 +43,6 @@ if (HAVE_BACKTRACE_HEADERS)
add_definitions(-DBFP_HAS_BACKTRACE)
endif ()
#find_package(Backtrace)
#if(Backtrace_FOUND)
# include_directories(${Backtrace_INCLUDE_DIRS})
# set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Backtrace_LIBRARIES}")
# set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${Backtrace_LIBRARIES}")
# add_definitions(-DBFP_HAS_BACKTRACE)
# add_definitions(-DBFP_BACKTRACE_PATH="${Backtrace_HEADER}")
#endif(Backtrace_FOUND)
if (${IOS})
include_directories(
.
@ -285,15 +276,18 @@ add_library(${PROJECT_NAME} STATIC
${SRC_FILES_OS}
)
set(TARGET_LIBS_OS "")
if (HAVE_BACKTRACE_HEADERS)
set(TARGET_LIBS_OS "backtrace")
endif()
if (${APPLE})
target_link_libraries(${PROJECT_NAME} pthread ffi)
elseif (${ANDROID})
set(TARGET_LIBS_OS "")
#target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/../BeefySysLib/third_party/libffi/aarch64-unknown-linux-gnu/.libs/libffi.a)
#target_link_libraries(${PROJECT_NAME} ${CMAKE_CURRENT_SOURCE_DIR}/../BeefySysLib/third_party/libffi/i686-pc-linux-gnu/.libs/libffi.a)
else()
#target_link_libraries(${PROJECT_NAME} pthread ffi backtrace)
target_link_libraries(${PROJECT_NAME} pthread ffi)
target_link_libraries(${PROJECT_NAME} pthread ffi ${TARGET_LIBS_OS})
endif()
# Link with other dependencies.

View file

@ -34,6 +34,12 @@ add_definitions(
-DBP_DYNAMIC
)
INCLUDE(CheckIncludeFiles)
CHECK_INCLUDE_FILES(backtrace.h HAVE_BACKTRACE_HEADERS)
if (HAVE_BACKTRACE_HEADERS)
add_definitions(-DBFP_HAS_BACKTRACE)
endif ()
set (CMAKE_CXX_STANDARD 11)
if (${APPLE})

View file

@ -36,6 +36,12 @@ add_definitions(
set (CMAKE_CXX_STANDARD 11)
#add_definitions(-D_GLIBCXX_USE_CXX11_ABI=1)
INCLUDE(CheckIncludeFiles)
CHECK_INCLUDE_FILES(backtrace.h HAVE_BACKTRACE_HEADERS)
if (HAVE_BACKTRACE_HEADERS)
add_definitions(-DBFP_HAS_BACKTRACE)
endif ()
if (${APPLE})
include_directories(
.
@ -182,17 +188,26 @@ add_library(${PROJECT_NAME} SHARED
${SRC_FILES}
)
if (${APPLE})
set(TARGET_LIBS_OS "ncurses")
else()
#set(TARGET_LIBS_OS "backtrace")
execute_process(
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_8_0_0/bin/llvm-config --system-libs --link-static
OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
OUTPUT_STRIP_TRAILING_WHITESPACE
)
set(TARGET_LIBS_OS "")
if (HAVE_BACKTRACE_HEADERS)
set(TARGET_LIBS_OS "-lbacktrace")
endif()
# Link with other dependencies.
if(MSVC)
target_link_libraries(${PROJECT_NAME} BeefySysLib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib LLVMX86Disassembler.lib LLVMMCDisassembler.lib LLVMSupport.lib LLVMX86Info.lib LLVMX86Utils.lib LLVMX86AsmPrinter.lib LLVMX86Desc.lib %(AdditionalDependencies) LLVMMC.lib LLVMObject.lib LLVMCore.lib LLVMBitReader.lib LLVMAsmParser.lib LLVMMCParser.lib LLVMCodeGen.lib LLVMTarget.lib LLVMX86CodeGen.lib LLVMScalarOpts.lib LLVMInstCombine.lib LLVMSelectionDAG.lib LLVMProfileData.lib LLVMTransformUtils.lib LLVMAnalysis.lib LLVMX86AsmParser.lib LLVMAsmPrinter.lib LLVMBitWriter.lib LLVMVectorize.lib LLVMipo.lib LLVMInstrumentation.lib LLVMDebugInfoDWARF.lib LLVMDebugInfoPDB.lib LLVMDebugInfoCodeView.lib LLVMGlobalISel.lib LLVMBinaryFormat.lib LLVMAggressiveInstCombine.lib libcurl_a.lib)
set(TARGET_LIBS_OS "${TARGET_LIBS_OS} ${LLVM_SYSTEM_LIBS}")
if (${APPLE})
set(TARGET_LIBS_OS "${TARGET_LIBS_OS} ncurses")
else()
target_link_libraries(${PROJECT_NAME} BeefySysLib hunspell pthread dl ${TARGET_LIBS_OS}
endif()
list(APPEND LLVM_LIBS
${LLVM_LIB}/libLLVMCore.a
${LLVM_LIB}/libLLVMMC.a
${LLVM_LIB}/libLLVMMCParser.a
@ -247,6 +262,23 @@ else()
${LLVM_LIB}/libLLVMAArch64Disassembler.a
${LLVM_LIB}/libLLVMSupport.a
${LLVM_LIB}/libLLVMDemangle.a
${LLVM_LIB}/libLLVMDemangle.a)
FOREACH (lib ${LLVM_LIBS})
string(APPEND TARGET_LIBS_OS " " ${lib})
ENDFOREACH()
if (CMAKE_BUILD_TYPE STREQUAL "Debug" )
FILE(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/../IDE/dist/IDEHelper_libs_d.txt" ${TARGET_LIBS_OS})
else()
FILE(WRITE "${CMAKE_CURRENT_SOURCE_DIR}/../IDE/dist/IDEHelper_libs.txt" ${TARGET_LIBS_OS})
endif()
# Link with other dependencies.
if(MSVC)
target_link_libraries(${PROJECT_NAME} BeefySysLib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib LLVMX86Disassembler.lib LLVMMCDisassembler.lib LLVMSupport.lib LLVMX86Info.lib LLVMX86Utils.lib LLVMX86AsmPrinter.lib LLVMX86Desc.lib %(AdditionalDependencies) LLVMMC.lib LLVMObject.lib LLVMCore.lib LLVMBitReader.lib LLVMAsmParser.lib LLVMMCParser.lib LLVMCodeGen.lib LLVMTarget.lib LLVMX86CodeGen.lib LLVMScalarOpts.lib LLVMInstCombine.lib LLVMSelectionDAG.lib LLVMProfileData.lib LLVMTransformUtils.lib LLVMAnalysis.lib LLVMX86AsmParser.lib LLVMAsmPrinter.lib LLVMBitWriter.lib LLVMVectorize.lib LLVMipo.lib LLVMInstrumentation.lib LLVMDebugInfoDWARF.lib LLVMDebugInfoPDB.lib LLVMDebugInfoCodeView.lib LLVMGlobalISel.lib LLVMBinaryFormat.lib LLVMAggressiveInstCombine.lib libcurl_a.lib)
else()
target_link_libraries(${PROJECT_NAME} BeefySysLib hunspell pthread dl ${TARGET_LIBS_OS}
)
endif()

View file

@ -64,7 +64,7 @@ fi
### DEBUG ###
echo Building BeefBuild_bootd
../../jbuild_d/Debug/bin/BeefBoot --out="BeefBuild_bootd" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --define=DEBUG --startup=BeefBuild.Program --linkparams="./libBeefRT_d.a ./libIDEHelper_d.$LIBEXT ./libBeefySysLib_d.$LIBEXT ../../extern/llvm_linux_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_8_0_0/lib/libLLVMDemangle.a $LINKOPTS"
../../jbuild_d/Debug/bin/BeefBoot --out="BeefBuild_bootd" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --define=DEBUG --startup=BeefBuild.Program --linkparams="./libBeefRT_d.a ./libIDEHelper_d.$LIBEXT ./libBeefySysLib_d.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs_d.txt) $LINKOPTS"
echo Building BeefBuild_d
./BeefBuild_bootd -clean -proddir=../../BeefBuild -config=Debug
#./BeefBuild_d -proddir=../../TestApp
@ -75,7 +75,7 @@ echo Testing IDEHelper/Tests in BeefBuild_d
### RELEASE ###
echo Building BeefBuild_boot
../../jbuild/Release/bin/BeefBoot --out="BeefBuild_boot" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --startup=BeefBuild.Program --linkparams="./libBeefRT.a ./libIDEHelper.$LIBEXT ./libBeefySysLib.$LIBEXT ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCore.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMC.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMMCDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMObject.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTarget.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMScalarOpts.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSelectionDAG.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMProfileData.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMTransformUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAnalysis.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBitWriter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMVectorize.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMipo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMInstrumentation.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoDWARF.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoPDB.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDebugInfoCodeView.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMGlobalISel.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMBinaryFormat.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMIRReader.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMLinker.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAggressiveInstCombine.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMX86Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMInfo.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMUtils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDesc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMCodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMAsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMARMDisassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Info.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Utils.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmPrinter.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Desc.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64CodeGen.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64AsmParser.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMAArch64Disassembler.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMSupport.a ../../extern/llvm_linux_rel_8_0_0/lib/libLLVMDemangle.a $LINKOPTS"
../../jbuild/Release/bin/BeefBoot --out="BeefBuild_boot" --src=../src --src=../../BeefBuild/src --src=../../BeefLibs/corlib/src --src=../../BeefLibs/Beefy2D/src --define=CLI --startup=BeefBuild.Program --linkparams="./libBeefRT.a ./libIDEHelper.$LIBEXT ./libBeefySysLib.$LIBEXT $(< ../../IDE/dist/IDEHelper_libs.txt) $LINKOPTS"
echo Building BeefBuild
./BeefBuild_boot -clean -proddir=../../BeefBuild -config=Release
#./BeefBuild_d -proddir=../../TestApp