diff --git a/_Build/cmake_BuildTools_Ninja_Clang.bat b/_Build/cmake_BuildTools_Ninja_Clang.bat index c4c92f5..7f14a31 100644 --- a/_Build/cmake_BuildTools_Ninja_Clang.bat +++ b/_Build/cmake_BuildTools_Ninja_Clang.bat @@ -1,5 +1,7 @@ @ECHO OFF +if not !%1==! goto :with_arg + ECHO 1.Debug ECHO 2.Debug Final ECHO 3.Release @@ -9,32 +11,70 @@ ECHO. CHOICE /C 12345 /M "Enter your choice:" -@ECHO ON +IF %errorlevel% EQU 5 goto :End +goto :without_arg -GOTO choice-%errorlevel% +:with_arg +set CH=%1 +goto :Start +:without_arg +set CH=%errorlevel% +:Start + +rem @ECHO ON + +GOTO choice-%CH% :choice-1 +if !%2==! ( mkdir _BuildToolsDebugNinjaClang cd _BuildToolsDebugNinjaClang -cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_PROJECT_NAME:STRING=Build_Tools ../../source +) else ( +mkdir %2 +cd %2 +) +echo ninja >_build.bat +echo ninja install/strip >>_build.bat +cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_PROJECT_NAME:STRING=Build_Tools -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-2 +if !%2==! ( mkdir _BuildToolsDebugFinalNinjaClang cd _BuildToolsDebugFinalNinjaClang -cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_PROJECT_NAME:STRING=Build_Tools -D KYTY_FINAL=1 ../../source +) else ( +mkdir %2 +cd %2 +) +echo ninja >_build.bat +echo ninja install/strip >>_build.bat +cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_PROJECT_NAME:STRING=Build_Tools -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-3 +if !%2==! ( mkdir _BuildToolsReleaseNinjaClang cd _BuildToolsReleaseNinjaClang -cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D KYTY_PROJECT_NAME:STRING=Build_Tools ../../source +) else ( +mkdir %2 +cd %2 +) +echo ninja >_build.bat +echo ninja install/strip >>_build.bat +cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D KYTY_PROJECT_NAME:STRING=Build_Tools -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-4 +if !%2==! ( mkdir _BuildToolsReleaseFinalNinjaClang cd _BuildToolsReleaseFinalNinjaClang -cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D KYTY_PROJECT_NAME:STRING=Build_Tools -D KYTY_FINAL=1 ../../source +) else ( +mkdir %2 +cd %2 +) +echo ninja >_build.bat +echo ninja install/strip >>_build.bat +cmake -G "Ninja" -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D KYTY_PROJECT_NAME:STRING=Build_Tools -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-5 diff --git a/_Build/cmake_EclipseMinGW.bat b/_Build/cmake_EclipseMinGW.bat index 78db18f..4e9f94e 100644 --- a/_Build/cmake_EclipseMinGW.bat +++ b/_Build/cmake_EclipseMinGW.bat @@ -21,37 +21,57 @@ goto :Start set CH=%errorlevel% :Start -@ECHO ON +rem @ECHO ON GOTO choice-%CH% :choice-1 +if !%2==! ( mkdir _DebugEclipseMinGW cd _DebugEclipseMinGW +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-2 +if !%2==! ( mkdir _DebugFinalEclipseMinGW cd _DebugFinalEclipseMinGW +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-3 +if !%2==! ( mkdir _ReleaseEclipseMinGW cd _ReleaseEclipseMinGW +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-4 +if !%2==! ( mkdir _ReleaseFinalEclipseMinGW cd _ReleaseFinalEclipseMinGW +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Release -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source diff --git a/_Build/cmake_EclipseMinGW_Clang.bat b/_Build/cmake_EclipseMinGW_Clang.bat index bd72e9c..2d3e8ce 100644 --- a/_Build/cmake_EclipseMinGW_Clang.bat +++ b/_Build/cmake_EclipseMinGW_Clang.bat @@ -21,40 +21,60 @@ goto :Start set CH=%errorlevel% :Start -@ECHO ON +rem @ECHO ON GOTO choice-%CH% :choice-1 +if !%2==! ( mkdir _DebugEclipseMinGWClang cd _DebugEclipseMinGWClang +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat -cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug ../../source +cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-2 +if !%2==! ( mkdir _DebugFinalEclipseMinGWClang cd _DebugFinalEclipseMinGWClang +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat -cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_FINAL=1 ../../source +cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-3 +if !%2==! ( mkdir _ReleaseEclipseMinGWClang cd _ReleaseEclipseMinGWClang +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat -cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release ../../source +cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-4 +if !%2==! ( mkdir _ReleaseFinalEclipseMinGWClang cd _ReleaseFinalEclipseMinGWClang +) else ( +mkdir %2 +cd %2 +) echo mingw32-make.exe >_build.bat echo mingw32-make.exe install/strip >>_build.bat -cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D KYTY_FINAL=1 ../../source +cmake -G "Eclipse CDT4 - MinGW Makefiles" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-5 diff --git a/_Build/cmake_EclipseNinja.bat b/_Build/cmake_EclipseNinja.bat index 07614bd..cd767b8 100644 --- a/_Build/cmake_EclipseNinja.bat +++ b/_Build/cmake_EclipseNinja.bat @@ -21,40 +21,60 @@ goto :Start set CH=%errorlevel% :Start -@ECHO ON +rem @ECHO ON GOTO choice-%CH% :choice-1 +if !%2==! ( mkdir _DebugEclipseNinja cd _DebugEclipseNinja +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat -cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Debug ../../source +cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-2 +if !%2==! ( mkdir _DebugFinalEclipseNinja cd _DebugFinalEclipseNinja +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat -cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_FINAL=1 ../../source +cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-3 +if !%2==! ( mkdir _ReleaseEclipseNinja cd _ReleaseEclipseNinja +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat -cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Release ../../source +cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-4 +if !%2==! ( mkdir _ReleaseFinalEclipseNinja cd _ReleaseFinalEclipseNinja +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat -cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Release -D KYTY_FINAL=1 ../../source +cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -D CMAKE_BUILD_TYPE=Release -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-5 diff --git a/_Build/cmake_EclipseNinja_Clang.bat b/_Build/cmake_EclipseNinja_Clang.bat index 36bc578..89daa11 100644 --- a/_Build/cmake_EclipseNinja_Clang.bat +++ b/_Build/cmake_EclipseNinja_Clang.bat @@ -21,37 +21,57 @@ goto :Start set CH=%errorlevel% :Start -@ECHO ON +rem @ECHO ON GOTO choice-%CH% :choice-1 +if !%2==! ( mkdir _DebugEclipseNinjaClang cd _DebugEclipseNinjaClang +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-2 +if !%2==! ( mkdir _DebugFinalEclipseNinjaClang cd _DebugFinalEclipseNinjaClang +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Debug -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-3 +if !%2==! ( mkdir _ReleaseEclipseNinjaClang cd _ReleaseEclipseNinjaClang +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=_bin ../../source GOTO End :choice-4 +if !%2==! ( mkdir _ReleaseFinalEclipseNinjaClang cd _ReleaseFinalEclipseNinjaClang +) else ( +mkdir %2 +cd %2 +) echo ninja >_build.bat echo ninja install/strip >>_build.bat cmake -G "Eclipse CDT4 - Ninja" -DCMAKE_ECLIPSE_GENERATE_LINKED_RESOURCES=FALSE -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -D CMAKE_BUILD_TYPE=Release -D KYTY_FINAL=1 -D CMAKE_INSTALL_PREFIX=_bin ../../source diff --git a/_Build/cmake_Msvc2019_Ninja_Clang.bat b/_Build/cmake_Msvc2019_Ninja_Clang.bat index 56900d5..551729a 100644 --- a/_Build/cmake_Msvc2019_Ninja_Clang.bat +++ b/_Build/cmake_Msvc2019_Ninja_Clang.bat @@ -33,8 +33,13 @@ rem @ECHO ON GOTO choice-%CH% :choice-1 +if !%2==! ( mkdir _DebugMsvc2019NinjaClang cd _DebugMsvc2019NinjaClang +) else ( +mkdir %2 +cd %2 +) set >env.txt echo call %VCVARSALL% x64 >_build.bat echo ninja >>_build.bat @@ -44,8 +49,13 @@ cmake -G "Ninja" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -D CM GOTO End :choice-2 +if !%2==! ( mkdir _DebugFinalMsvc2019NinjaClang cd _DebugFinalMsvc2019NinjaClang +) else ( +mkdir %2 +cd %2 +) set >env.txt echo call %VCVARSALL% x64 >_build.bat echo ninja >>_build.bat @@ -55,8 +65,13 @@ cmake -G "Ninja" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -D CM GOTO End :choice-3 +if !%2==! ( mkdir _ReleaseMsvc2019NinjaClang cd _ReleaseMsvc2019NinjaClang +) else ( +mkdir %2 +cd %2 +) set >env.txt echo call %VCVARSALL% x64 >_build.bat echo ninja >>_build.bat @@ -66,8 +81,13 @@ cmake -G "Ninja" -DCMAKE_C_COMPILER=clang-cl -DCMAKE_CXX_COMPILER=clang-cl -D CM GOTO End :choice-4 +if !%2==! ( mkdir _ReleaseFinalMsvc2019NinjaClang cd _ReleaseFinalMsvc2019NinjaClang +) else ( +mkdir %2 +cd %2 +) set >env.txt echo call %VCVARSALL% x64 >_build.bat echo ninja >>_build.bat diff --git a/_Build/start_Msvc2019.bat b/_Build/start_Msvc2019.bat index f5877e1..ca177dd 100644 --- a/_Build/start_Msvc2019.bat +++ b/_Build/start_Msvc2019.bat @@ -2,4 +2,4 @@ set MSVC=C:/Program Files (x86)/Microsoft Visual Studio/2019/Community set PATH=C:\Windows\system32;C:\Windows;%MSVC%\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\cmd; set VCVARSALL="%MSVC%/VC/Auxiliary/Build/vcvarsall.bat" call %VCVARSALL% x64 -start "" "%MSVC%\Common7\IDE\devenv.exe" ../source \ No newline at end of file +start "" "%MSVC%\Common7\IDE\devenv.exe" .. \ No newline at end of file diff --git a/source/CMakeLists.txt b/source/CMakeLists.txt index c371f87..134916b 100644 --- a/source/CMakeLists.txt +++ b/source/CMakeLists.txt @@ -135,7 +135,9 @@ config_compiler_and_linker() add_subdirectory(3rdparty) add_subdirectory(emulator) -add_subdirectory(launcher) +if(NOT ${KYTY_PROJECT_NAME} MATCHES "Build_Tools") + add_subdirectory(launcher) +endif() add_subdirectory(lib) add_executable(fc_script ${KYTY_SCRIPT_SRC}) @@ -187,17 +189,16 @@ endif() add_dependencies(fc_script KytyGitVersion) -file(GLOB csv_files ${CMAKE_CURRENT_BINARY_DIR}/*.csv) - install(TARGETS fc_script DESTINATION .) -install(FILES ${csv_files} DESTINATION .) -if(MSVC) - install(FILES "3rdparty/winpthread/bin/libwinpthread-1.dll" DESTINATION .) +if(NOT ${KYTY_PROJECT_NAME} MATCHES "Build_Tools") + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/fc_script_${KYTY_COMPILER_ID}_${KYTY_LINKER_ID}_${KYTY_BITNESS}.csv DESTINATION .) + if(MSVC) + install(FILES "3rdparty/winpthread/bin/libwinpthread-1.dll" DESTINATION .) + endif() endif() if(MSVC) set(CMAKE_USE_RELATIVE_PATHS ON) - endif()