Commit Graph

242 Commits

Author SHA1 Message Date
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
Username404-59 11ea331d89
Share a few compilation flags between GCC and Clang. 2021-03-26 23:28:54 +01:00
Username404-59 a4e42f752f
Add a few indentation spaces in the CMakeLists.txt file. 2021-03-25 19:16:38 +01:00
Username404-59 cdb9446820
Don't use the "-pie" link option in MSVC. 2021-03-25 18:08:05 +01:00
Username404 5b265d690f
Make the ybcon executable truly position-independent. 2021-03-25 16:50:25 +01:00
Username404 a00b36eaae
Remove the timestamps from the zipped changelog file. 2021-03-25 16:18:00 +01:00
Username404 fbd7d8684e
Set CMAKE_POSITION_INDEPENDENT_CODE for all compilers. 2021-03-25 16:10:25 +01:00
Username404 1d5f2d7877
Use the name "changelog.Debian.gz" instead of "changelog.gz" for the debian package's changelog. 2021-03-25 14:28:03 +01:00
Username404 d3b86a3ef2
Use xz compression for RPM packages too. 2021-03-25 13:43:32 +01:00
Username404 6e049495f4
Only set the CPACK_STRIP_FILES variable once, and use more threads for CPack. 2021-03-25 13:36:42 +01:00
Username404 91570df79a
Add the changelog file to debian packages. 2021-03-24 15:50:43 +01:00
Username404 5e08f52668
Use xz compression instead of lzma for debian packages. 2021-03-24 14:06:55 +01:00
Username404 40ff865489
Use the /usr directory instead of /opt. 2021-03-24 13:18:17 +01:00
Username404 fe1cf70770
Rename the changelog.txt file to changelog. 2021-03-24 12:55:38 +01:00
Username404 545c7b4b0d
Fix a little bit the CMakeLists.txt file's indentation. 2021-03-24 11:49:20 +01:00
Username404 37eb8b6efe
Use CMAKE_CXX_EXTENSIONS instead of just CXX_EXTENSIONS in the CMakeLists.txt file, and also use CMAKE_POSITION_INDEPENDENT_CODE instead of the -fpie compilation flag. 2021-03-24 11:47:51 +01:00
Username404 1bfb46dd35
Revert "Use a ${} syntax for an if statement in CMakeLists.txt."
This reverts commit c978c10ff75cd9d62aa028d880be345031595e8f.
2021-03-24 11:40:33 +01:00
Username404 3964f7676b
Use a ${} syntax for an if statement in CMakeLists.txt. 2021-03-20 21:25:14 +01:00
Username404 1788476136
Use control flow protection if the compiler supports it in CMakeLists.txt. 2021-03-20 21:20:21 +01:00
Username404 68fe01be97
Set CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION to TRUE in the CMakeLists.txt file to fix debian packages. 2021-03-18 14:39:26 +01:00
Username404 b354c8df53
Rename scripts/postinst.sh to postinst, else it won't be executed on debian. 2021-03-18 14:32:08 +01:00
Username404-59 259398f2a3
Process the .manifest file for windows. 2021-03-17 15:32:24 +01:00
Username404-59 13cfdef6ee
Make sure that CXX extensions are disabled in the CMakeLists.txt file. 2021-03-17 14:20:39 +01:00
Username404-59 bd5faa0615
Fix it again? 2021-03-17 14:01:14 +01:00
Username404-59 a7611ec066
Fix the NSIS installation directory. 2021-03-17 13:59:40 +01:00
Username404 4235bb4ce3
Add a CMake warning for (mostly) old compilers. 2021-03-16 16:42:28 +01:00
Username404 67ad3095dd
Set CPACK_NSIS_INSTALL_ROOT instead of CPACK_PACKAGING_INSTALL_PREFIX. 2021-03-13 19:47:35 +01:00
Username404 2bce63b606
Change the default installation directory used by Windows installers. 2021-03-13 19:39:39 +01:00
Username404 fab672afc7
Revert "Also use PROJECT_NAME for the installation directory."
This reverts commit bf6974df
2021-03-13 19:05:31 +01:00
Username404 d24c250dec
Add a PREFIXDIR variable to CMakeLists.txt. 2021-03-13 19:03:56 +01:00
Username404 bf0c692cd2
Try to fix the previous commit. 2021-03-13 19:01:15 +01:00
Username404 b60cadecd1
Set CPACK_PACKAGING_INSTALL_PREFIX to the install prefix for windows installers. 2021-03-13 18:59:15 +01:00
Username404 699c406e30
Also use PROJECT_NAME for the installation directory. 2021-03-13 18:55:58 +01:00
Username404 789ee7e9c2
Set the icon's name back to Yerbacon.png, and use PROJECT_NAME for a few file names in CMakeLists.txt. 2021-03-13 18:53:11 +01:00
Username404 ddb892e7fa
Process the rc file even more, add a EXENAME variable in the CMakeLists.txt file and also change the CMake install prefix for mingw. 2021-03-13 18:49:53 +01:00
Username404 693a0374c9
Just use PROJECT_NAME instead of CMAKE_PROJECT_NAME in the CMakeLists.txt file. 2021-03-13 17:34:31 +01:00
Username404-59 5f2b486c10
Also modify the windows package name. 2021-03-12 22:16:11 +01:00
Username404-59 2f751b1f01
Edit CMakeLists.txt for better package names. 2021-03-12 22:07:37 +01:00
Username404 76fbe593eb
Process the rc file before building. 2021-03-12 21:42:06 +01:00
Username404-59 0c7c890a21
Set CMAKE_INSTALL_PREFIX to /opt in the CMakeLists.txt file. 2021-03-11 20:20:51 +01:00
Username404-59 f00e722dc0
Revert "Generate QtIFW installers with CPack in the CMakeLists.txt file."
This reverts commit 1d1708055084dc23652cd39dad8cc4942dc2b206.
2021-03-10 20:20:52 +01:00
Username404-59 4bc7a99aef
Stop generating QtIFW installers for windows. 2021-03-10 18:00:50 +01:00
Username404-59 d40e85eb06
Generate QtIFW installers with CPack in the CMakeLists.txt file. 2021-03-10 15:03:02 +01:00
Username404-59 196f7b7065
Fix a few indentation typos in CMakeLists.txt. 2021-03-10 14:29:16 +01:00
Username404-59 6eb29bfa6f
Use the strong version of the -fstack-protector flag. 2021-03-09 22:29:46 +01:00
Username404-59 86090f1a7d
Don't use the -pthread option when MSVC is being used. 2021-03-09 21:32:38 +01:00
Username404-59 366a0f5065
Remove -fcf-protection in the CMakeLists.txt file; it does not work for arm architectures. 2021-03-09 20:49:10 +01:00
Username404-59 5484b9cf59
Add a few compilation flags for gnu and clang compilers. 2021-03-09 20:33:01 +01:00
Username404-59 80510909f1
Add a StandardComponents.hpp file. 2021-03-06 22:00:07 +01:00
Username404-59 5972f0ef4c
Add a (definetly incomplete) ParseComponents.hpp file and move the extern declarations of main.cpp to misc.hpp. 2021-03-04 11:18:11 +01:00
Username404-59 f95d1c2497
Add the misc.hpp file to CMakeLists.txt. 2021-03-03 19:51:13 +01:00
Username404-59 4d8f09ee68
Use the right installation directories. 2021-03-03 13:24:16 +01:00
Username404-59 27ceae472b
Use a static libgcc on CLang too. 2021-03-01 20:42:06 +01:00
Username404-59 04fd22f12c
Use optimization flags on CLang too. 2021-03-01 20:19:16 +01:00
Username404-59 3b8fcb4409
Make the generation of source RPM packages possible. 2021-03-01 19:28:39 +01:00
Username404-59 daeb558504
Add a changelog.txt file and set the CPACK_RPM_BUILDREQUIRES in the CMakeLists.txt file. 2021-03-01 19:01:15 +01:00
Username404-59 b8df9df2e9
Set the debian package dependencies manually. 2021-03-01 12:18:56 +01:00
Username404-59 82f65e5da5
Revert "Don't overwrite the existing flags when a GNU compiler is used."
This reverts commit 101104872a36f9cead85b880e3f838259e80b778.
2021-03-01 12:03:25 +01:00
Username404-59 2f09a44521
Don't overwrite the existing flags when a GNU compiler is used. 2021-03-01 12:02:56 +01:00
Username404-59 ab71c08085
Change the structure of installation directories, and move the completion scripts. 2021-02-28 19:30:52 +01:00
Username404-59 76057e34ab
Rename the ybcon.sh script to ybcon, and put it in a different install directory. 2021-02-28 18:14:56 +01:00
Username404-59 ca92d6821e
Use a static libgcc when a GNU compiler is being used for building. 2021-02-28 12:37:25 +01:00
Username404-59 77b81c8481
Set CPACK_STRIP_FILES to TRUE in the CMakeLists.txt file. 2021-02-28 12:01:53 +01:00
Username404-59 85dc6d7675
Add basic (and incomplete) zsh completions with scripts/zsh-completion.zsh. 2021-02-27 22:17:03 +01:00
Username404-59 41dedff221
Use lzma compression for deb packages too. 2021-02-27 14:42:05 +01:00
Username404-59 3fec653cea
Compress rpm packages with lzma. 2021-02-27 14:40:52 +01:00
Username404-59 d421ef0cb6
Set CPACK_RPM_PACKAGE_RELEASE_DIST to ON in the CMakeLists.txt file. 2021-02-27 12:07:07 +01:00
Username404-59 a427010099
Complete scripts/fish-completion.fish, improve scripts/ybcon.sh and add a --version argument. 2021-02-26 20:28:53 +01:00
Username404-59 528d1eb36e
Show warnings on all compilers. 2021-02-26 18:51:38 +01:00
Username404-59 ad2fcfd746
Add stack protection flags in the CMakeLists.txt file (only for the GNU and Clang compilers). 2021-02-26 18:05:22 +01:00
Username404-59 580500ada9
Update README.md and begin adding a fish shell autocompletion script. 2021-02-26 14:22:29 +01:00
Username404-59 7ccb83dfce
[ci skip] Add a work-in-progress bash-completion shell script. 2021-02-25 22:05:05 +01:00
Username404-59 15439d8b3e
Prioritize RPM packages in CMakeLists.txt. 2021-02-25 18:55:40 +01:00
Username404-59 69a50e1e79
Add a postinstall script for the linux packages, permit the use of -p instead of -printresult for the ybcon arguments, and change the installation directory to /opt/bin. 2021-02-25 17:59:18 +01:00
Username404-59 39af980e0a
Add the timestamp to CPACK_PACKAGE_FILE_NAME in the CMakeLists.txt file. 2021-02-19 16:25:10 +01:00
git 3eddc72c85
Edit CPACK_PACKAGE_DESCRIPTION_SUMMARY. 2021-02-15 19:14:35 +01:00
git 20ddcd39b0
Revert the two previous commits. 2021-02-14 14:18:18 +01:00
git 5279c2f356
Add the build's architecture to CPACK_PACKAGE_FILE_NAME in the CMakeLists.txt file. 2021-02-14 14:10:43 +01:00
git b0e14d4be7
Build tar.gz packages for arm linux devices. 2021-02-14 13:54:14 +01:00
git 2bce6a2143
Strip the produced binaries and files. 2021-02-14 12:57:42 +01:00
git a3a71733e4
Set CPACK_VERBATIM_VARIABLES to true in the CMakeLists.txt file. 2021-02-14 10:38:48 +01:00
git cb657ad455
Add the MPL to rpm packages, and add the build's timestamp to the release variable for rpm packages. 2021-02-14 10:24:13 +01:00
Username404-59 f339217a2f
Set the CMake project's language to C++. 2021-02-14 02:47:46 +01:00
git 3355ed9201
Make sure that the dependencies will be added to the RPM package. 2021-02-13 22:36:21 +01:00
git 0a6e4fe573
Add the build's timestamp to CPACK_PACKAGE_VERSION in the CMakeLists.txt file. 2021-02-13 22:33:59 +01:00
Username404 0f6f9b0c30
Request permissions inside the NSIS installer by setting RequestExecutionLevel to "highest" instead of "user". 2021-02-12 21:45:49 +01:00
Username404 9866d7c456
Don't require admin permissions for the NSIS installer. 2021-02-12 21:35:36 +01:00
username404 34c3cfb041
Hidden git history due to a license change. 2021-02-12 15:07:03 +01:00
username404 42215fb3e6
Initial commit 2020-12-11 22:24:44 +01:00