AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Clion ninja1/7/2024 This also means you won’t really be using a lot of add_executable or add_library calls, as those will be handled behind the scenes. JUCE provides helper functions such as juce_add_plugin which abstracts away a lot of framework’s build configuration needs and exposes a bunch of high level plugin/executable config options. So, for example the function target_link_libraries will link a library (such as a testing framework like Catch2) to your plugin target. ![]() Modern CMake loosely refers to CMake being not as difficult to use these days (vs. Toolchain is your complier, debugger, and so on. Some JargonĪ Library is a chunk of code, probably in a subdirectory.Ī Target is a discrete executable, such as your plugin, or a library The other reason: Perhaps because it builds on an historical foundation, the documentation implicitly assumes you know the basics (what configuration means, what a target is, etc). There’s a lot of complexity resulting from implicit coupling between these concerns. In my opinion, this is the big reason CMake has the reputation for being “hard”. Also, the CLI commands are mashed together in one tool and you’ll have to get used to what flags you should be passing. It’s all mashed together in one big happy festival of configuration directives. The coupling can be concerning…Īll the different jobs that CMake does are not separated in CMake’s config. Visual Studio and CLion both have built-in CMake support which will keep you off the command line. (You can additionally have CMakeList.txt files in sub directories and add those configurations to the top level one). It can also build executables with the platform toolchain, which makes it useful for CI environments.Īll of these things are configured by a CMakeLists.txt file in your root directory. ![]() What role does CMake play?ĬMake is the “glue” that lets you configure and build your JUCE project for multiple platforms.īefore the CMake integration was announced the only way to do this was via JUCE’s custom app, the Projucer.ĬMake exports “build tool files.” Among other things, it spits out. I’ll explain those here in hopes it’ll help future plugin devs.Īlso check out Pamplejuce, a GitHub template I made for JUCE + CMake + Catch2 + GitHub actions. I wasn’t totally clear on a few high level concepts at first. CMake took me a bit of wrestling ( especially on Xcode).
0 Comments
Read More
Leave a Reply. |