tokudb CMakeLists.txt
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Percona Server moved to https://jira.percona.com/projects/PS |
Fix Released
|
Medium
|
Tomislav Plavcic | ||
5.5 |
Invalid
|
Undecided
|
Unassigned | ||
5.6 |
Fix Released
|
Medium
|
Tomislav Plavcic |
Bug Description
Issues in tokudb CMakeLists.txt (found when merging in MariaDB):
1. in percona-server tokudb has:
-------
IF(CMAKE_
NOT CMAKE_VERSION VERSION_LESS "2.8.9" AND
NOT WITHOUT_TOKUDB AND NOT WITHOUT_
CHECK_CXX_
"
struct a {int b; int c; };
struct a d = { .b=1, .c=2 };
int main() { return 0; }
" TOKUDB_OK)
ENDIF()
IF(NOT TOKUDB_OK)
RETURN()
ENDIF()
IF(CMAKE_
-------
In MariaDB it is:
-------
IF(CMAKE_
NOT CMAKE_VERSION VERSION_LESS "2.8.9")
CHECK_CXX_
"
struct a {int b; int c; };
struct a d = { .b=1, .c=2 };
int main() { return 0; }
" TOKUDB_OK)
ENDIF()
IF(NOT TOKUDB_OK OR WITHOUT_TOKUDB OR WITHOUT_
RETURN()
ENDIF()
-------
This was changed (from the code that you have) in https:/
Fix "cmake . && cmake -DWITHOUT_TOKUDB=1" to disable tokudb
2. You have
-------
SET_PROPERTY(TARGET tokudb APPEND PROPERTY LINK_FLAGS_RELEASE "-flto -fuse-linker-
SET_PROPERTY(TARGET tokudb APPEND PROPERTY LINK_FLAGS_
-------
This is generally a bad idea for plugins, because the "tokudb" target may not exist and cmake will fail.
Either do it as in MariaDB:
-------
SET(CMAKE_
SET(CMAKE_
-------
or check whether a target exists:
-------
IF(TARGET tokudb)
SET_PROPERTY(
SET_PROPERTY(
ENDIF()
-------
3. Unlike MariaDB, you don't add -Wno-vla to compiler flags. Is that not an issue anymore? Or you simpy never use any warning levels that imply -Wvla? TokuDB used to put -Werror on the compiler line so any warning was fatal.
description: | updated |
I do recall fixing a few -Wvla warnings at Tokutek's request as they used to build with -Wvla -Werror.