Where is the documentation for the CMake DCMTK_WITH options?
Moderator: Moderator Team
Where is the documentation for the CMake DCMTK_WITH options?
Hi All,
I'd like to setup to build version 3.6.8. The team has been using 3.5.4 for a while and I'm trying to understand what each DCMTK_WITH_* setting does and why it might be advantageous to use it.
I'm new to CMake and have limited experience with DCMTK.
Some of these options (like DCMTK_WITH_THREADS) weren't available for 3.5.4.
I think the default is to use threads now.
What are the other defaults for the DCMTK_WITH_* settings and any other settings that might be new or have changed from Off to On by default.
Thank you.
I'd like to setup to build version 3.6.8. The team has been using 3.5.4 for a while and I'm trying to understand what each DCMTK_WITH_* setting does and why it might be advantageous to use it.
I'm new to CMake and have limited experience with DCMTK.
Some of these options (like DCMTK_WITH_THREADS) weren't available for 3.5.4.
I think the default is to use threads now.
What are the other defaults for the DCMTK_WITH_* settings and any other settings that might be new or have changed from Off to On by default.
Thank you.
-
- DCMTK Developer
- Posts: 2073
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: Where is the documentation for the CMake DCMTK_WITH options?
Hi,
most of them are discussed within the dcmtk/INSTALL file. This is generally a good read to understand the most important configuration options. If you have any particular questions not answered in INSTALL, let me know.
Best,
Michael
most of them are discussed within the dcmtk/INSTALL file. This is generally a good read to understand the most important configuration options. If you have any particular questions not answered in INSTALL, let me know.
Best,
Michael
Re: Where is the documentation for the CMake DCMTK_WITH options?
Thanks Michael. I have read that INSTALL file a few times. I will read it a few more.
I'll reach out if there is anything that needs further explanation.
I'll reach out if there is anything that needs further explanation.
-
- DCMTK Developer
- Posts: 2073
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: Where is the documentation for the CMake DCMTK_WITH options?
Sometimes its just enough to hit Configure and Generate if you don't need any special features. We try to provide sane defaults...
Re: Where is the documentation for the CMake DCMTK_WITH options?
Hi.
I'm trying to understand of variables like oficonv_SOURCE_DIR are setup during the config or generate steps.
I want a way to override those with an environment variable that can be set up each developer's machine for the root directory of the code and the root directory of the build system (output).
This would allow developers to set DCMTK_ROOT_DIRECTORY and DCMTK_BUILD_SYSTEM_DIRECTOR to match where they have cloned our internal repo of the DCM 3.6.8 code (including the output from CMake)
Thanks
I'm trying to understand of variables like oficonv_SOURCE_DIR are setup during the config or generate steps.
I want a way to override those with an environment variable that can be set up each developer's machine for the root directory of the code and the root directory of the build system (output).
This would allow developers to set DCMTK_ROOT_DIRECTORY and DCMTK_BUILD_SYSTEM_DIRECTOR to match where they have cloned our internal repo of the DCM 3.6.8 code (including the output from CMake)
Thanks
-
- OFFIS DICOM Team
- Posts: 1507
- Joined: Tue, 2004-11-02, 17:22
- Location: Oldenburg, Germany
- Contact:
Re: Where is the documentation for the CMake DCMTK_WITH options?
In essence, it's
cmake [options] -S <path-to-source> -B <path-to-build>
. <path-to-source> should be the directory into which the developed has cloned the Git repository, <path-to-build> the directory into which the Visual Studio files will be written.Re: Where is the documentation for the CMake DCMTK_WITH options?
Thanks.
But I can't put environment variables in the source path or the build-system path, right?
I think I'm trying to do something that CMake and DCMTK setup wasn't designed to do.
I want to generate the build-system output once, commit that to the code repository, and allow anyone to build
DCMTK on any windows machine in any directory after they set some environment variables.
I can manually update the generated Visual Studio *.vcxproj.filters and *.vcxproj files (I did this with our repository for 3.5.4).
Do I need to change any Cmake related files that contain absolute paths?
Some examples are:
./dcmdata/apps/CMakeFiles/generate.stamp.depend
./dcmdata/apps/cmake_install.cmake
./dcmdata/apps/CTestTestfile.cmake
./dcmdata/CMakeFiles/generate.stamp.depend
./dcmdata/cmake_install.cmake
./dcmdata/CTestTestfile.cmake
./dcmdata/data/CMakeFiles/generate.stamp.depend
./dcmdata/data/cmake_install.cmake
./dcmdata/data/CTestTestfile.cmake
But I can't put environment variables in the source path or the build-system path, right?
I think I'm trying to do something that CMake and DCMTK setup wasn't designed to do.
I want to generate the build-system output once, commit that to the code repository, and allow anyone to build
DCMTK on any windows machine in any directory after they set some environment variables.
I can manually update the generated Visual Studio *.vcxproj.filters and *.vcxproj files (I did this with our repository for 3.5.4).
Do I need to change any Cmake related files that contain absolute paths?
Some examples are:
./dcmdata/apps/CMakeFiles/generate.stamp.depend
./dcmdata/apps/cmake_install.cmake
./dcmdata/apps/CTestTestfile.cmake
./dcmdata/CMakeFiles/generate.stamp.depend
./dcmdata/cmake_install.cmake
./dcmdata/CTestTestfile.cmake
./dcmdata/data/CMakeFiles/generate.stamp.depend
./dcmdata/data/cmake_install.cmake
./dcmdata/data/CTestTestfile.cmake
Re: Where is the documentation for the CMake DCMTK_WITH options?
Also any vcxproj* files with this command.
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">setlocal
"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/user/repos/mmi-director-dcmtk-3.6.8/dcmtk-3.6.8 -BC:/Users/user/repos/mmi-director-dcmtk-3.6.8/build-system --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file C:/Users/user/repos/mmi-director-dcmtk-3.6.8/build-system/DCMTK.sln
What is cmake.exe doing here?
I assume I need an environment variable for the path to cmake.exe so this will work on any developer's machine (regardless of if they are using it to create the build system for their machine).
Thanks again.
<Command Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">setlocal
"C:\Program Files\CMake\bin\cmake.exe" -SC:/Users/user/repos/mmi-director-dcmtk-3.6.8/dcmtk-3.6.8 -BC:/Users/user/repos/mmi-director-dcmtk-3.6.8/build-system --check-stamp-list CMakeFiles/generate.stamp.list --vs-solution-file C:/Users/user/repos/mmi-director-dcmtk-3.6.8/build-system/DCMTK.sln
What is cmake.exe doing here?
I assume I need an environment variable for the path to cmake.exe so this will work on any developer's machine (regardless of if they are using it to create the build system for their machine).
Thanks again.
-
- DCMTK Developer
- Posts: 2073
- Joined: Fri, 2004-11-05, 13:47
- Location: Oldenburg, Germany
- Contact:
Re: Where is the documentation for the CMake DCMTK_WITH options?
Sorry, no idea of the whole thing (creating .sln and just adapt environment variables) will work out in the end. At least I can say I never tried this and have no idea how to do it
Re: Where is the documentation for the CMake DCMTK_WITH options?
Thanks. I know I'm working against common practice (or it seems that way).
I was successful with what I inherited for 3.5.4, but other things may have mapped before that or changed with 3.6.8.
I don't see cmake being run in the 3.5.4 repo I inherited.
I was successful with what I inherited for 3.5.4, but other things may have mapped before that or changed with 3.6.8.
I don't see cmake being run in the 3.5.4 repo I inherited.
Who is online
Users browsing this forum: No registered users and 0 guests