Commit Graph

238 Commits

Author SHA1 Message Date
Username404 dadfea85eb
Set NODEJS_CATCH_EXIT to 0 since it is not needed
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:09 +02:00
Username404 660f73a3d2
Specify the environments to support by default with emscripten toolchains
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:09 +02:00
Username404 feb6aedde0
Add "-sJS_MATH=1" to the default flags for emscripten toolchains
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:09 +02:00
Username404 1622096d8b
Add "-sABORTING_MALLOC=0" to the default flags for emscripten toolchains
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:09 +02:00
Username404 5f1e8482cd
Add "-sSAFE_HEAP=1" to the default linker flags for emscripten toolchains
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:08 +02:00
Username404 29a5630e95
Support usage of the posix thread library with emscripten toolchains
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:08 +02:00
Username404 4da10b61dd
Add default linker flags for emscripten toolchains in the CMakeLists.txt file
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-21 23:31:08 +02:00
Username404 7a18bfad59
Add support for Emscripten toolchains in the CMakeLists.txt file
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-09 00:53:08 +02:00
Username404 0a90c25487
Set the minimal clang version to 14.0.1 because 14.0.0 breaks a std::span constructor (which worked in 14.0.0-rc1)
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-04-03 11:51:46 +02:00
Username404 bc1564aadc
Set the MSVC minimum version to 19.30
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-27 16:25:35 +02:00
Username404 fb1ec6813f
Require clang 14.0 or higher
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-03-13 22:12:58 +01:00
Username404 df10215e4e
Rename LEGALCOPYRIGHT to LEGAL-COPYRIGHT in the CMakeLists.txt and resources/Yerbacon.rc files
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 22:42:20 +01:00
Username404 3bd631d70c
Make sure run-time type information is enabled on MSVC
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 6f1407ff52
Add a minimal MSVC version
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 c7903678a0
Add "/Zc:inline" to the MSVC compiler flags
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 f2645744ee
Add "/Zc:throwingNew" to the MSVC flags
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 4082523be1
Enable the new preprocessor conformance mode on MSVC
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 17ea99118c
Add "-fno-math-errno" to the release flags for GNU and Clang compilers
Signed-off-by: Username404 <w.iron.zombie@gmail.com>
2022-02-14 14:12:00 +01:00
Username404 96efa6b0fb
Enable threads only when they are available, and replace "ybcon" occurrences with "${EXENAME}" in the CMakeLists.txt file 2022-02-14 14:12:00 +01:00
Username404-59 5f2c83c997
Don't generate a new manifest file on MSVC compilers 2022-02-14 14:12:00 +01:00
Username404-59 4365da0daf
Add MSVC specific flags 2022-02-14 14:12:00 +01:00
Username404-59 9a763b38cf
Fix the UPPERCASE_BUILD_TYPE variable to make the CMakeLists.txt file compatible with multi-config generators 2022-02-14 14:12:00 +01:00
Username404-59 2e14746ada
Fix a condition used to determine if windows/mingw is in use 2022-02-14 14:12:00 +01:00
Username404 0f87742ea8
Use the CMAKE_HOST_WIN32 variable instead of win32 to fix building with a reassigned CMAKE_SYSTEM_NAME 2022-02-14 14:12:00 +01:00
Username404 7aae055651
Fix the Jenkinsfile and remove the useless CMake 3.22.0 warning 2022-02-14 14:12:00 +01:00
Username404 c9a6a6c918
Remove a useless condition and two unnecessary parentheses in lexer.cpp 2022-02-14 14:12:00 +01:00
Username404 37b7cbb16d
Include CMAKE_VERSION in the CPack 3.21.1 warning, just in case the condition needs to be changed in a future version 2022-02-14 14:12:00 +01:00
Username404 fd7ae6197c
Improve the message shown when position-independent code is not supported 2022-02-14 14:12:00 +01:00
Username404 d687544519
Add interprocedural optimization flags only when they are supported if clang is in use 2022-02-14 14:12:00 +01:00
Username404 c2f70924ef
Make the check_cxx_compiler_flag invocation lowercase 2022-02-14 14:12:00 +01:00
Username404 30ef4500f2
Add a UPPERCASE_BUILD_TYPE variable to make a condition case-insensitive 2021-10-20 21:19:01 +02:00
Username404 24dca593c5
Remove "-s" from the optimization flags 2021-10-20 20:50:36 +02:00
Username404 36b0e39a92
Only define YBCON_FLAGS in optimized builds 2021-10-20 19:16:45 +02:00
Username404-59 88d22e6183
Add a "--buildInfo" argument to print the compiler and optimization options used when building 2021-10-20 17:08:41 +02:00
Username404 e8adf32645
Set CPACK_NSIS_IGNORE_LICENSE_PAGE to TRUE in the CMakeLists.txt file 2021-10-19 22:08:41 +02:00
Username404 6bb6fa4dda
Add "-fvect-cost-model=unlimited" to the GNU optimization flags in the CMakeLists.txt file 2021-10-11 19:03:38 +02:00
Username404 1df9b9ed74
Add the changelog target as a dependency of the ybcon one 2021-10-02 14:22:29 +02:00
Username404-59 f3322f996e
Precompile the Yerbacon.hpp header file 2021-09-23 11:31:54 +02:00
Username404-59 3fd04724f1
Add an option to disable ccache in the CMakeLists.txt file 2021-09-23 10:57:39 +02:00
Username404-59 1ee7b8dc7c
Use interprocedural optimization flags on every C++ compiler that supports it 2021-09-22 16:45:32 +02:00
Username404 6ce13be4ca
Don't append CMAKE_CXX_COMPILER_ARCHITECTURE_ID to CPACK_SYSTEM_NAME + CPACK_TOPLEVEL_TAG, and remove a few newlines in ParseComponents.hpp 2021-09-19 21:37:53 +02:00
Username404 ed3da58e31
Add the "-pthread" flag to the G++/Clang common flags instead of using another redundant condition 2021-09-18 22:51:34 +02:00
Username404 6243e97d48
Add "-fstrict-enums" to the compiler options for g++ and clang 2021-09-18 22:19:58 +02:00
Username404 328c8a6868
Make sure that rtti is enabled on g++ and clang 2021-09-18 22:02:07 +02:00
Username404 4f2fbe2b19
Set the "-fzero-call-used-regs" flag on GNU compilers 2021-09-18 20:01:44 +02:00
Username404 c1ed7b3e16
Only set the CPack_NSIS branding text variables on windows 2021-09-18 18:29:53 +02:00
Username404 7a12f275ea
Set the nsis branding text 2021-09-18 18:23:00 +02:00
Username404 4d76c684c3
Set the nsis branding text position in the CMakeLists.txt file 2021-09-18 18:09:04 +02:00
Username404 01a1e5d339
Add the "-ftree-parallelize-loops" argument to the GNU compiler flags 2021-09-18 15:15:44 +02:00
Username404-59 4201e3bcfb
Don't use openmp at all in mingw toolchains since they don't seem to work with it 2021-09-14 12:50:55 +02:00
Username404 9cc7f8e39e
Only put the openmp flags when it is present 2021-09-12 12:45:15 +02:00
Username404 e6e12a26ec
Enable OpenMP when it is found in CMakeLists.txt and add two variables called IS_GNU and IS_CLANG 2021-09-12 12:41:15 +02:00
Username404 c0966f9650
Only enable position independent code when it is supported by the compiler 2021-09-12 12:00:15 +02:00
Username404-59 75ca9376fa
Add flags to unwind tables in the CMakeLists.txt 2021-08-30 16:23:55 +02:00
Username404 34691f7a8f
Only set CCACHE_PRESENT when it is not already defined 2021-08-28 23:09:34 +02:00
Username404 2dba7fbda6
Add experimental string transpilation with interpolation 2021-08-28 10:59:24 +02:00
Username404 871ebabb11
Use ccache in builds when it is present 2021-08-27 12:08:56 +02:00
Username404-59 57f8f251bc
Add a CF_PROTECTION variable to hold the -fcf-protection flag in the CMakeLists.txt file 2021-08-22 17:03:53 +02:00
Username404 9a1ea05e83
Add two optimization flags for the GNU compiler 2021-08-22 12:14:12 +02:00
Username404 845f356a86
Show a warning when CMake/CPack 3.21.1 is being used 2021-08-18 23:40:46 +02:00
Username404 4b0e58dd6a
Don't statically link libgcc, and don't use GCC/Clang flags on MSVC when cross-compiling for windows 2021-08-18 20:33:05 +02:00
Username404 df334ec693
Revert "Set the debian package dependencies manually."
This reverts commit 02f6a3db
2021-08-18 12:57:00 +02:00
Username404 18da9b800a
Revert "Make enumerations and wide characters shorter by default when using a GNU compiler or Clang."
This reverts commit dad410f6
2021-08-16 11:41:58 +02:00
Username404 e874cbdf32
Use a dot instead of a hyphen for the package architecture suffix 2021-08-15 17:17:11 +02:00
Username404 7fd3cc32c8
Fix the position of the cmakeArgs arguments in functions calls in the Jenkinsfile, and add a CXX_TARGET variable 2021-08-15 17:08:24 +02:00
Username404 7016eb18c4
Add the target architecture as a suffix to packages in CMakeLists.txt 2021-08-15 15:38:55 +02:00
Username404 1f5c0b1b7a
Enable exceptions handling in the CMakeLists.txt file 2021-08-14 23:15:46 +02:00
Username404 af3a9202c0
Make enumerations and wide characters shorter by default when using a GNU compiler or Clang. 2021-08-14 22:47:48 +02:00
Username404 d6de61df99
Add a few optimizations for G++ in the CMakeLists.txt file 2021-08-11 22:42:45 +02:00
Username404 7a23e31dea
Only define the CMAKE_RC_COMPILER when it isn't defined in the CMakeLists.txt file. 2021-08-10 12:22:28 +02:00
Username404 41da4ef6ac
Add even more flags for the GNU and Clang compilers... 2021-08-10 10:58:18 +02:00
Username404 8739623a08
Move the Clang flags to the CMAKE_CXX_FLAGS_RELEASE, and add another flag. 2021-08-10 10:44:17 +02:00
Username404 f472878180
Use the flag added previously on Clang++ too, and replace occurrences of version numbers with the two variable containing minimal versions of compilers. 2021-08-10 10:32:04 +02:00
Username404 cc0d29fda7
Add an optimization flags for GNU compilers in the CMakeLists.txt file. 2021-08-09 21:33:18 +02:00
Username404 3c14405874
Add variables with the minimal versions of GNU and Clang in the CMakeLists.txt file 2021-08-09 17:17:38 +02:00
Username404 043d2e7485
Make the GNU compiler message a FATAL_ERROR in the CMakeLists.txt file. 2021-08-09 14:39:09 +02:00
Username404 3b991da962
Require Clang 13.0+ in the CMakeLists.txt file, import the tok::type enumeration in lexer.cpp + Parser.hpp, and add [[likely]] attributes to 2 branches of the switch case in lexer.cpp. 2021-08-09 10:58:11 +02:00
Username404 2f853fe797
Add unsigned short values to the tok::type enum and move the parseString function to misc.hpp. 2021-08-06 19:12:28 +02:00
Username404 c8f3e689bd
Remove the library target since it won't be useful. 2021-07-10 12:00:19 +02:00
Username404 1bfb4cb54b
Add arguments.hpp, remove a few useless files, and add a library target to the CMakeLists.txt file. 2021-07-10 11:03:15 +02:00
Username404-59 c7b5960783
Add the build timestamp to Windows executables. 2021-07-07 17:02:49 +02:00
Username404-59 8ed9b529ea
Improve the copyright text used in the Windows resources file. 2021-07-07 16:35:05 +02:00
Username404-59 e59ce68760
Add a copyright text to the Windows resources file. 2021-07-07 15:57:20 +02:00
Username404-59 3359dc7649
Add a Yerbacon header (+ namespace) and move the getVersion function into it. 2021-07-06 15:43:52 +02:00
Username404 077f95b36b
Begin the parser 2021-07-03 21:54:12 +02:00
Username404 995684799d
Replace Targets.hpp with Target.hpp and add language-specific headers 2021-07-03 11:11:36 +02:00
Username404 5de2a28f93
Add a Targets.hpp file and shorten MainTranspile.cpp. 2021-06-25 20:58:23 +02:00
Username404 bbc980c6a9
Use the CheckPIESupported output in the CMakeLists.txt, file and replace the .svgz logo with a .svg one. 2021-06-11 07:25:29 +02:00
Username404-59 937d393aa5
Remove StandardComponents.hpp. 2021-04-25 16:02:28 +02:00
Username404-59 abe3a7b418
Change the install directory for Win32 packages in the CMakeLists.txt file. 2021-04-02 13:53:55 +02:00
Username404-59 682068ad3a
Improve the welcome page of NSIS installers. 2021-04-02 13:35:16 +02:00
Username404-59 026c44aa4a
Set a few variables in the CMakeLists.txt file. 2021-04-02 13:29:50 +02:00
Username404-59 9e6a2a0b79
Use lzma instead of bzip2 for NSIS installers. 2021-04-02 12:53:52 +02:00
Username404-59 ae451d32b3
Set CPACK_NSIS_COMPRESSOR to two arguments instead of just "BZIP2" in the CMakeLists.txt file. 2021-04-02 12:46:54 +02:00
Username404-59 5e4fc9f4be
Set the compressor used for NSIS packages. 2021-04-01 21:45:19 +02:00
Username404-59 c712ab6811
Make the CPack NSIS installer dpi-aware. 2021-04-01 21:43:21 +02:00
Username404-59 8a2f368795
Correctly check if PIE is fully working. 2021-03-29 00:20:41 +02:00
Username404-59 627473e7da
Don't overwrite linker flags in the CMakeLists.txt file. 2021-03-28 23:58:25 +02:00
Username404-59 1c758448cf
Move "-fivopts" to GNU-only flags. 2021-03-27 15:32:49 +01:00
Username404 b21c2ae643
Check if PIE is supported on MSVC too in the CMakeLists.txt file. 2021-03-27 11:10:08 +01:00